1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-01 07:16:37 +02:00

irc: add optional server in info "irc_is_channel" (before channel name) (bug #35124), add optional server in info_hashtable "irc_message_parse"

This commit is contained in:
Sebastien Helleu
2011-12-25 23:00:18 +01:00
parent 68948f9747
commit a35364524a
31 changed files with 206 additions and 311 deletions
+2
View File
@@ -42,6 +42,8 @@ Version 0.3.7 (under dev!)
* api: add new functions strcasecmp_range, strncasecmp_range,
hashtable_map_string, hdata_check_pointer, hdata_char, hdata_hashtable and
nicklist_get_next_item
* irc: add optional server in info "irc_is_channel" (before channel name)
(bug #35124), add optional server in info_hashtable "irc_message_parse"
* irc: reset read marker of current buffer on manual /join
* irc: fix crash when signon time in message 317 (whois, idle) is invalid
(too large) (bug #34905)
+1 -1
View File
@@ -6,7 +6,7 @@
| irc | irc_buffer | hole Buffer Pointer für einen IRC Server/Channel/Nick | server,channel,nick (Channel und Nicks sind optional)
| irc | irc_is_channel | 1, falls die Zeichenkette ein gültiger IRC-Channel ist | Channelname
| irc | irc_is_channel | 1 if string is a valid IRC channel name for server | server,channel (server is optional)
| irc | irc_is_nick | 1, falls die Zeichenkette ein gültiger IRC Nickname ist | Nickname
@@ -2,7 +2,7 @@
|========================================
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht | "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (beinhaltet Channel)
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (beinhaltet Channel)
| irc | irc_message_split | dient zum Aufteilen einer überlangen IRC Nachricht (in maximal 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten
+1 -1
View File
@@ -6,7 +6,7 @@
| irc | irc_buffer | get buffer pointer for an IRC server/channel/nick | server,channel,nick (channel and nicks are optional)
| irc | irc_is_channel | 1 if string is a valid IRC channel name | channel name
| irc | irc_is_channel | 1 if string is a valid IRC channel name for server | server,channel (server is optional)
| irc | irc_is_nick | 1 if string is a valid IRC nick name | nickname
@@ -2,7 +2,7 @@
|========================================
| Plugin | Name | Description | Hashtable (input) | Hashtable (output)
| irc | irc_message_parse | parse an IRC message | "message": IRC message | "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel)
| irc | irc_message_parse | parse an IRC message | "message": IRC message, "server": server name (optional) | "nick": nick, "host": host, "command": command, "channel": channel, "arguments": arguments (includes channel)
| irc | irc_message_split | split an IRC message (to fit in 512 bytes) | "message": IRC message, "server": server name (optional) | "msg1" ... "msgN": messages to send (without final "\r\n"), "args1" ... "argsN": arguments of messages, "count": number of messages
+1 -1
View File
@@ -6,7 +6,7 @@
| irc | irc_buffer | retourne le pointeur vers le tampon pour un serveur/canal/pseudo IRC | serveur,canal,pseudo (canal et pseudo sont optionnels)
| irc | irc_is_channel | 1 si la chaîne est un nom de canal IRC valide | nom de canal
| irc | irc_is_channel | 1 si la chaîne est un nom de canal IRC valide pour le serveur | serveur,canal (le serveur est optionnel)
| irc | irc_is_nick | 1 si la chaîne est un pseudo IRC valide | pseudo
@@ -2,7 +2,7 @@
|========================================
| Extension | Nom | Description | Hashtable (entrée) | Hashtable (sortie)
| irc | irc_message_parse | analyse un message IRC | "message": message IRC | "nick": pseudo, "host": nom d'hôte, "command": commande, "channel": canal, "arguments": paramètres (inclut le canal)
| irc | irc_message_parse | analyse un message IRC | "message": message IRC, "server": nom du serveur (optionnel) | "nick": pseudo, "host": nom d'hôte, "command": commande, "channel": canal, "arguments": paramètres (inclut le canal)
| irc | irc_message_split | découper un message IRC (pour tenir dans les 512 octets) | "message": message IRC, "server": nom du serveur (optionnel) | "msg1" ... "msgN": messages à envoyer (sans le "\r\n" final), "args1" ... "argsN": paramètres des messages, "count": nombre de messages
+1 -1
View File
@@ -6,7 +6,7 @@
| irc | irc_buffer | ottiene puntatore al buffer per un server/canale/nick IRC | server,canale,nick (canale e nick sono opzionali)
| irc | irc_is_channel | 1 se la stringa è nome valido di un canale IRC | nome canale
| irc | irc_is_channel | 1 if string is a valid IRC channel name for server | server,channel (server is optional)
| irc | irc_is_nick | 1 se la stringa è un nick IRC valido | nick
@@ -2,7 +2,7 @@
|========================================
| Plugin | Nome | Descrizione | Tabella hash (input) | Tabella hash (output)
| irc | irc_message_parse | controlla un messaggio IRC | "messaggio": messaggio IRC | "nick": nick, "host": nome host, "command": comando, "channel": canale, "arguments": argomenti (include il canale)
| irc | irc_message_parse | controlla un messaggio IRC | "message": messaggio IRC, "server": nome server (opzionale) | "nick": nick, "host": nome host, "command": comando, "channel": canale, "arguments": argomenti (include il canale)
| irc | irc_message_split | divide un messaggio IRC (per adattarlo in 512 byte) | "message": messaggio IRC, "server": nome server (opzionale) | "msg1" ... "msgN": messaggio da inviare (senza "\r\n" finale), "args1" ... "argsN": argomenti dei messaggi, "count": numero di messaggi
+9 -23
View File
@@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-11-03 16:57+0100\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Czech\n"
@@ -5839,11 +5839,13 @@ msgstr[0] "kanál"
msgstr[1] "kanály"
msgstr[2] "kanálů"
msgid "1 if string is a valid IRC channel name"
#, fuzzy
msgid "1 if string is a valid IRC channel name for server"
msgstr "1 pokud je řetězec validní jméno IRC kanálu"
msgid "channel name"
msgstr "jméno kanálu"
#, fuzzy
msgid "server,channel (server is optional)"
msgstr "server,kanál (kanál je volitelný)"
msgid "1 if string is a valid IRC nick name"
msgstr "1 pokud je řetězec validní jméno IRC přezdívky"
@@ -5887,8 +5889,8 @@ msgstr "hodnota funkce, pokud je podporována serverem (z IRC zprávy 005)"
msgid "parse an IRC message"
msgstr "rozdělit IRC zprávu"
msgid "\"message\": IRC message"
msgstr "\"zpráva\": IRC zpráva"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
@@ -5901,9 +5903,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr ""
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -8198,16 +8197,3 @@ msgstr ""
msgid "Lists"
msgstr ""
#~ msgid ""
#~ "standard plugins extension in filename (for example \".so\" under Linux "
#~ "or \".dll\" under Microsoft Windows)"
#~ msgstr ""
#~ "standardní přípona souboru pluginů (například \".so\" pod Linuxem nebo \"."
#~ "dll\" pod Microsoft Windows)"
#~ msgid "%sWarning: %s, line %d: unknown option \"%s\" (outside a section)"
#~ msgstr "%sUpozornění: %s, řádek %d: neznámé nastavení \"%s\" (mimo sekci)"
#~ msgid "condition(s) for displaying bar (for bars of type \"window\")"
#~ msgstr "podmínka/podmínky pro zobrazení pole (pro pole typu \"window\")"
+9 -27
View File
@@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-12-18 14:57+0100\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: \n"
@@ -6244,11 +6244,13 @@ msgid_plural "channels"
msgstr[0] "Channel"
msgstr[1] "Channels"
msgid "1 if string is a valid IRC channel name"
#, fuzzy
msgid "1 if string is a valid IRC channel name for server"
msgstr "1, falls die Zeichenkette ein gültiger IRC-Channel ist"
msgid "channel name"
msgstr "Channelname"
#, fuzzy
msgid "server,channel (server is optional)"
msgstr "Server,Channel (Channel ist optional)"
msgid "1 if string is a valid IRC nick name"
msgstr "1, falls die Zeichenkette ein gültiger IRC Nickname ist"
@@ -6295,8 +6297,8 @@ msgstr ""
msgid "parse an IRC message"
msgstr "Parse eine IRC Nachricht"
msgid "\"message\": IRC message"
msgstr "\"message\": IRC Nachricht"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": IRC Nachricht, \"server\": Servername (optional)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
@@ -6311,9 +6313,6 @@ msgstr ""
"dient zum Aufteilen einer überlangen IRC Nachricht (in maximal 512 Bytes "
"große Nachrichten)"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": IRC Nachricht, \"server\": Servername (optional)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -8659,20 +8658,3 @@ msgstr "Variablen"
msgid "Lists"
msgstr "Listen"
#~ msgid "enable mouse support at startup (to enable it now, see /help mouse)"
#~ msgstr ""
#~ "Mausunterstützung beim Start aktivieren (um die Funktion direkt zu "
#~ "aktivieren, siehe /help mouse)"
#~ msgid ""
#~ "standard plugins extension in filename (for example \".so\" under Linux "
#~ "or \".dll\" under Microsoft Windows)"
#~ msgstr ""
#~ "Standard Dateinamenserweiterung (Beispiel: \".so\" unter Linux oder \".dll"
#~ "\" unter Microsoft Windows)"
#~ msgid "condition(s) for displaying bar (for bars of type \"window\")"
#~ msgstr ""
#~ "Bedingung(en) für die Darstellung von Infobar(s) (für Infobars des Typs "
#~ "\"window\")"
+9 -30
View File
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-11-03 16:57+0100\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Spanish\n"
@@ -6031,11 +6031,13 @@ msgid_plural "channels"
msgstr[0] "canal"
msgstr[1] "canales"
msgid "1 if string is a valid IRC channel name"
#, fuzzy
msgid "1 if string is a valid IRC channel name for server"
msgstr "1 si la cadena es un nombre de canal IRC válido"
msgid "channel name"
msgstr "nombre del canal"
#, fuzzy
msgid "server,channel (server is optional)"
msgstr "servidor,canal (canal es opcional)"
msgid "1 if string is a valid IRC nick name"
msgstr "1 si la cadena es un apodo IRC válido"
@@ -6082,8 +6084,8 @@ msgstr ""
msgid "parse an IRC message"
msgstr "analiza un mensaje IRC"
msgid "\"message\": IRC message"
msgstr "\"mensaje\": mensaje IRC"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": mensaje IRC, \"server\": nombre del servidor (opcional)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
@@ -6096,9 +6098,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr "separar un mensaje IRC (para coincidir en 512 bytes)"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": mensaje IRC, \"server\": nombre del servidor (opcional)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -8413,23 +8412,3 @@ msgstr "Variables"
msgid "Lists"
msgstr "Listas"
#~ msgid "enable mouse support at startup (to enable it now, see /help mouse)"
#~ msgstr ""
#~ "activar el soporte para ratón al inicio del programa (para activarlo "
#~ "ahora, ver /help mouse)"
#~ msgid ""
#~ "standard plugins extension in filename (for example \".so\" under Linux "
#~ "or \".dll\" under Microsoft Windows)"
#~ msgstr ""
#~ "extensión estándar de los archivos de plugin (por ejemplo \".so\" en "
#~ "linux o \".dll\" en Microsoft Windows)"
#~ msgid "%sWarning: %s, line %d: unknown option \"%s\" (outside a section)"
#~ msgstr ""
#~ "%sAtención: %s, línea %d: opción desconocida \"%s\" (fuera de la sección)"
#~ msgid "condition(s) for displaying bar (for bars of type \"window\")"
#~ msgstr ""
#~ "condicion(es) para mostrar la barra (para barras del tipo \"window\""
+8 -38
View File
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-12-25 21:38+0100\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Sebastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: French\n"
@@ -6097,11 +6097,11 @@ msgid_plural "channels"
msgstr[0] "canal"
msgstr[1] "canaux"
msgid "1 if string is a valid IRC channel name"
msgstr "1 si la chaîne est un nom de canal IRC valide"
msgid "1 if string is a valid IRC channel name for server"
msgstr "1 si la chaîne est un nom de canal IRC valide pour le serveur"
msgid "channel name"
msgstr "nom de canal"
msgid "server,channel (server is optional)"
msgstr "serveur,canal (le serveur est optionnel)"
msgid "1 if string is a valid IRC nick name"
msgstr "1 si la chaîne est un pseudo IRC valide"
@@ -6146,8 +6146,8 @@ msgstr ""
msgid "parse an IRC message"
msgstr "analyse un message IRC"
msgid "\"message\": IRC message"
msgstr "\"message\": message IRC"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": message IRC, \"server\": nom du serveur (optionnel)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
@@ -6160,9 +6160,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr "découper un message IRC (pour tenir dans les 512 octets)"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": message IRC, \"server\": nom du serveur (optionnel)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -8483,30 +8480,3 @@ msgstr "Variables"
msgid "Lists"
msgstr "Listes"
#~ msgid "enable mouse support at startup (to enable it now, see /help mouse)"
#~ msgstr ""
#~ "activer le support de la souris au démarrage (pour l'activer maintenant, "
#~ "voir /help mouse)"
#~ msgid ""
#~ "compression level (0 = no compression - faster, 9 = best compression - "
#~ "slower)"
#~ msgstr ""
#~ "niveau de compression des paquets envoyés au client avec le protocole "
#~ "WeeChat (0 = pas de compression ... 9 = meilleure compression)"
#~ msgid ""
#~ "standard plugins extension in filename (for example \".so\" under Linux "
#~ "or \".dll\" under Microsoft Windows)"
#~ msgstr ""
#~ "extension par défaut des extensions (par example \".so\" sous Linux ou \"."
#~ "dll\" sous Microsoft Windows)"
#~ msgid "%sWarning: %s, line %d: unknown option \"%s\" (outside a section)"
#~ msgstr ""
#~ "%sAttention: %s, ligne %d: option \"%s\" inconnue (hors d'une section)"
#~ msgid "condition(s) for displaying bar (for bars of type \"window\")"
#~ msgstr ""
#~ "condition(s) pour afficher la barre (pour les barres de type \"window\")"
+7 -15
View File
@@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-10-22 12:21+0200\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Hungarian\n"
@@ -5412,12 +5412,12 @@ msgstr[0] "%d szoba"
msgstr[1] "%d szoba"
#, fuzzy
msgid "1 if string is a valid IRC channel name"
msgid "1 if string is a valid IRC channel name for server"
msgstr "felhasználók listája a szobában"
#, fuzzy
msgid "channel name"
msgstr "%d szoba"
msgid "server,channel (server is optional)"
msgstr "szoba: szoba neve"
#, fuzzy
msgid "1 if string is a valid IRC nick name"
@@ -5471,9 +5471,8 @@ msgstr ""
msgid "parse an IRC message"
msgstr "üzenet: küldendő üzenet"
#, fuzzy
msgid "\"message\": IRC message"
msgstr "üzenet: küldendő üzenet"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
@@ -5484,9 +5483,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr ""
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -7729,7 +7725,3 @@ msgstr ""
msgid "Lists"
msgstr ""
#, fuzzy
#~ msgid "%sWarning: %s, line %d: unknown option \"%s\" (outside a section)"
#~ msgstr "%s %s, %d. sor: ismeretlen csoportazonosító (\"%s\")\n"
+9 -32
View File
@@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-11-15 19:37+0100\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Italian\n"
@@ -6038,11 +6038,13 @@ msgid_plural "channels"
msgstr[0] "canale"
msgstr[1] "canali"
msgid "1 if string is a valid IRC channel name"
#, fuzzy
msgid "1 if string is a valid IRC channel name for server"
msgstr "1 se la stringa è nome valido di un canale IRC"
msgid "channel name"
msgstr "nome canale"
#, fuzzy
msgid "server,channel (server is optional)"
msgstr "server,canale (canale è opzionale)"
msgid "1 if string is a valid IRC nick name"
msgstr "1 se la stringa è un nick IRC valido"
@@ -6087,8 +6089,8 @@ msgstr ""
msgid "parse an IRC message"
msgstr "controlla un messaggio IRC"
msgid "\"message\": IRC message"
msgstr "\"messaggio\": messaggio IRC"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": messaggio IRC, \"server\": nome server (opzionale)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
@@ -6101,9 +6103,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr "divide un messaggio IRC (per adattarlo in 512 byte)"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": messaggio IRC, \"server\": nome server (opzionale)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -8396,25 +8395,3 @@ msgstr "Variabili"
msgid "Lists"
msgstr "Liste"
#~ msgid "enable mouse support at startup (to enable it now, see /help mouse)"
#~ msgstr ""
#~ "abilita il supporto del mouse all'avvio (per attivarlo ora, consultare /"
#~ "help mouse)"
#~ msgid ""
#~ "standard plugins extension in filename (for example \".so\" under Linux "
#~ "or \".dll\" under Microsoft Windows)"
#~ msgstr ""
#~ "estensione standard dei plugin nei nomi file (per esempio \".so\" sotto "
#~ "Linux oppure \".dll\" sotto Microsoft Windows)"
#~ msgid "%sWarning: %s, line %d: unknown option \"%s\" (outside a section)"
#~ msgstr ""
#~ "%sAttenzione: %s, riga %d: opzione \"%s\" sconosciuta (fuori dalla "
#~ "sezione)"
#~ msgid "condition(s) for displaying bar (for bars of type \"window\")"
#~ msgstr ""
#~ "condizione(i) per la visualizzazione della barra (barre di tipo \"window"
#~ "\")"
+9 -28
View File
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-11-03 16:57+0100\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Polish\n"
@@ -5997,11 +5997,13 @@ msgstr[0] "kanał"
msgstr[1] "kanały"
msgstr[2] "kanałów"
msgid "1 if string is a valid IRC channel name"
#, fuzzy
msgid "1 if string is a valid IRC channel name for server"
msgstr "1 jeśli ciąg jest poprawną nazwą kanału IRC"
msgid "channel name"
msgstr "nazwa kanału"
#, fuzzy
msgid "server,channel (server is optional)"
msgstr "serwer,kanał (kanał jest opcjonalny)"
msgid "1 if string is a valid IRC nick name"
msgstr "1 jeśli ciąg jest poprawną nazwą użytkownika IRC"
@@ -6045,8 +6047,8 @@ msgstr "wartość opcji, jeśli jest wpierana przez serwer (z wiadomości IRC 00
msgid "parse an IRC message"
msgstr "przetwarza wiadomość IRC"
msgid "\"message\": IRC message"
msgstr "\"wiadomość\": wiadomość IRC"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": wiadomość IRC, \"server\": nazwa serwera (opcjonalne)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
@@ -6059,9 +6061,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr "dziel wiadomość IRC (aby zmieściła się w 512 bajtach)"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr "\"message\": wiadomość IRC, \"server\": nazwa serwera (opcjonalne)"
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -8321,21 +8320,3 @@ msgstr "Zmienne"
msgid "Lists"
msgstr "Listy"
#~ msgid "enable mouse support at startup (to enable it now, see /help mouse)"
#~ msgstr ""
#~ "włącza wsparcie dla myszy po starcie (aby włączyć teraz, zobacz /help "
#~ "mouse)"
#~ msgid ""
#~ "standard plugins extension in filename (for example \".so\" under Linux "
#~ "or \".dll\" under Microsoft Windows)"
#~ msgstr ""
#~ "domyślne rozszerzenie wtyczek (na przykład \".so\" pod Linuksem lub \".dll"
#~ "\" pod Microsoft Windows)"
#~ msgid "%sWarning: %s, line %d: unknown option \"%s\" (outside a section)"
#~ msgstr "%sOstrzeżenie: %s, w linii %d: nieznana opcja \"%s\" (poza sekcją)"
#~ msgid "condition(s) for displaying bar (for bars of type \"window\")"
#~ msgstr "warunek(i) wyświetlenia paska (dla pasków o typie \"window\")"
+5 -19
View File
@@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-11-03 16:58+0100\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Ivan Sichmann Freitas <ivansichfreitas@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Portuguese\n"
@@ -5474,10 +5474,10 @@ msgid_plural "channels"
msgstr[0] ""
msgstr[1] ""
msgid "1 if string is a valid IRC channel name"
msgid "1 if string is a valid IRC channel name for server"
msgstr ""
msgid "channel name"
msgid "server,channel (server is optional)"
msgstr ""
msgid "1 if string is a valid IRC nick name"
@@ -5522,7 +5522,7 @@ msgstr ""
msgid "parse an IRC message"
msgstr ""
msgid "\"message\": IRC message"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
@@ -5534,9 +5534,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr ""
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -7618,14 +7615,3 @@ msgstr ""
msgid "Lists"
msgstr ""
#~ msgid ""
#~ "standard plugins extension in filename (for example \".so\" under Linux "
#~ "or \".dll\" under Microsoft Windows)"
#~ msgstr ""
#~ "extensão padrão dos plugins no nome de arquivo (por exemplo \".so\" em "
#~ "Linux ou \".dll\" em Microsoft Windows)"
#~ msgid "%sWarning: %s, line %d: unknown option \"%s\" (outside a section)"
#~ msgstr ""
#~ "%sAviso: %s, linha %d: opção desconhedica \"%s\" (fora de uma seção)"
+7 -15
View File
@@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"PO-Revision-Date: 2011-10-22 12:21+0200\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: 2011-12-25 22:56+0100\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Russian\n"
@@ -5426,12 +5426,12 @@ msgstr[1] "%d каналов"
msgstr[2] "%d каналов"
#, fuzzy
msgid "1 if string is a valid IRC channel name"
msgid "1 if string is a valid IRC channel name for server"
msgstr "список ников на канале"
#, fuzzy
msgid "channel name"
msgstr "%d канал"
msgid "server,channel (server is optional)"
msgstr "канал: название канала"
#, fuzzy
msgid "1 if string is a valid IRC nick name"
@@ -5485,9 +5485,8 @@ msgstr ""
msgid "parse an IRC message"
msgstr "сообщение: отправляемое сообщение"
#, fuzzy
msgid "\"message\": IRC message"
msgstr "сообщение: отправляемое сообщение"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
@@ -5498,9 +5497,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr ""
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
@@ -7737,7 +7733,3 @@ msgstr ""
msgid "Lists"
msgstr ""
#, fuzzy
#~ msgid "%sWarning: %s, line %d: unknown option \"%s\" (outside a section)"
#~ msgstr "%s %s, строка %d: неизвестный идентификатор секции (\"%s\")\n"
+4 -7
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2011-12-25 21:44+0100\n"
"POT-Creation-Date: 2011-12-25 22:56+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -4672,10 +4672,10 @@ msgid_plural "channels"
msgstr[0] ""
msgstr[1] ""
msgid "1 if string is a valid IRC channel name"
msgid "1 if string is a valid IRC channel name for server"
msgstr ""
msgid "channel name"
msgid "server,channel (server is optional)"
msgstr ""
msgid "1 if string is a valid IRC nick name"
@@ -4720,7 +4720,7 @@ msgstr ""
msgid "parse an IRC message"
msgstr ""
msgid "\"message\": IRC message"
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
@@ -4732,9 +4732,6 @@ msgstr ""
msgid "split an IRC message (to fit in 512 bytes)"
msgstr ""
msgid "\"message\": IRC message, \"server\": server name (optional)"
msgstr ""
#. TRANSLATORS: please do not translate key names (enclosed by quotes)
msgid ""
"\"msg1\" ... \"msgN\": messages to send (without final \"\\r\\n\"), "
+6 -3
View File
@@ -368,11 +368,11 @@ irc_channel_search (struct t_irc_server *server, const char *channel_name)
}
/*
* irc_channel_is_channel: returns 1 if string is channel
* irc_channel_is_channel: returns 1 if string is a channel for given server
*/
int
irc_channel_is_channel (const char *string)
irc_channel_is_channel (struct t_irc_server *server, const char *string)
{
char first_char[2];
@@ -381,7 +381,10 @@ irc_channel_is_channel (const char *string)
first_char[0] = string[0];
first_char[1] = '\0';
return (strpbrk (first_char, IRC_CHANNEL_PREFIX)) ? 1 : 0;
return (strpbrk (first_char,
(server && server->chantypes) ?
server->chantypes : IRC_CHANNEL_DEFAULT_CHANTYPES)) ?
1 : 0;
}
/*
+3 -2
View File
@@ -20,7 +20,7 @@
#ifndef __WEECHAT_IRC_CHANNEL_H
#define __WEECHAT_IRC_CHANNEL_H 1
#define IRC_CHANNEL_PREFIX "#&+!"
#define IRC_CHANNEL_DEFAULT_CHANTYPES "#&+!"
/* channel types */
#define IRC_CHANNEL_TYPE_UNKNOWN -1
@@ -87,7 +87,8 @@ extern void irc_channel_free (struct t_irc_server *server,
extern void irc_channel_free_all (struct t_irc_server *server);
extern struct t_irc_channel *irc_channel_search (struct t_irc_server *server,
const char *channel_name);
extern int irc_channel_is_channel (const char *string);
extern int irc_channel_is_channel (struct t_irc_server *server,
const char *string);
extern void irc_channel_remove_away (struct t_irc_server *server,
struct t_irc_channel *channel);
extern void irc_channel_check_away (struct t_irc_server *server,
+12 -12
View File
@@ -640,7 +640,7 @@ irc_command_ban (void *data, struct t_gui_buffer *buffer, int argc,
if (argc > 1)
{
if (irc_channel_is_channel (argv[1]))
if (irc_channel_is_channel (ptr_server, argv[1]))
{
pos_channel = argv[1];
pos_args = 2;
@@ -1002,7 +1002,7 @@ irc_command_cycle (void *data, struct t_gui_buffer *buffer, int argc,
if (argc > 1)
{
if (irc_channel_is_channel (argv[1]))
if (irc_channel_is_channel (ptr_server, argv[1]))
{
channel_name = argv[1];
pos_args = argv_eol[2];
@@ -1855,7 +1855,7 @@ irc_command_join_server (struct t_irc_server *server, const char *arguments,
if (manual_join)
{
snprintf (new_args, length, "%s%s",
(irc_channel_is_channel (channels[0])) ? "" : "#",
(irc_channel_is_channel (server, channels[0])) ? "" : "#",
channels[0]);
ptr_channel = irc_channel_search (server, new_args);
if (ptr_channel)
@@ -1871,7 +1871,7 @@ irc_command_join_server (struct t_irc_server *server, const char *arguments,
if (i > 0)
strcat (new_args, ",");
if (((num_channels > 1) || (strcmp (channels[i], "0") != 0))
&& !irc_channel_is_channel (channels[i]))
&& !irc_channel_is_channel (server, channels[i]))
{
strcat (new_args, "#");
}
@@ -1959,7 +1959,7 @@ irc_command_kick (void *data, struct t_gui_buffer *buffer, int argc,
if (argc > 1)
{
if (irc_channel_is_channel (argv[1]))
if (irc_channel_is_channel (ptr_server, argv[1]))
{
if (argc < 3)
{
@@ -2033,7 +2033,7 @@ irc_command_kickban (void *data, struct t_gui_buffer *buffer, int argc,
if (argc > 1)
{
if (irc_channel_is_channel (argv[1]))
if (irc_channel_is_channel (ptr_server, argv[1]))
{
if (argc < 3)
{
@@ -2540,7 +2540,7 @@ irc_command_msg (void *data, struct t_gui_buffer *buffer, int argc,
}
else
{
if (irc_channel_is_channel (targets[i]))
if (irc_channel_is_channel (ptr_server, targets[i]))
{
ptr_channel = irc_channel_search (ptr_server,
targets[i]);
@@ -2763,7 +2763,7 @@ irc_command_notice (void *data, struct t_gui_buffer *buffer, int argc,
IRC_COMMAND_CHECK_SERVER("notice", 1);
is_channel = 0;
if (((argv[arg_target][0] == '@') || (argv[arg_target][0] == '+'))
&& irc_channel_is_channel (argv[arg_target] + 1))
&& irc_channel_is_channel (ptr_server, argv[arg_target] + 1))
{
ptr_channel = irc_channel_search (ptr_server, argv[arg_target] + 1);
is_channel = 1;
@@ -3117,7 +3117,7 @@ irc_command_part (void *data, struct t_gui_buffer *buffer, int argc,
if (argc > 1)
{
if (irc_channel_is_channel (argv[1]))
if (irc_channel_is_channel (ptr_server, argv[1]))
{
channel_name = argv[1];
pos_args = argv_eol[2];
@@ -4236,7 +4236,7 @@ irc_command_topic (void *data, struct t_gui_buffer *buffer, int argc,
if (argc > 1)
{
if (irc_channel_is_channel (argv[1]))
if (irc_channel_is_channel (ptr_server, argv[1]))
{
channel_name = argv[1];
new_topic = argv_eol[2];
@@ -4334,7 +4334,7 @@ irc_command_unban (void *data, struct t_gui_buffer *buffer, int argc,
if (argc > 1)
{
if (irc_channel_is_channel (argv[1]))
if (irc_channel_is_channel (ptr_server, argv[1]))
{
pos_channel = argv[1];
pos_args = 2;
@@ -4538,7 +4538,7 @@ irc_command_wallchops (void *data, struct t_gui_buffer *buffer, int argc,
if (argc > 1)
{
if (irc_channel_is_channel (argv[1]))
if (irc_channel_is_channel (ptr_server, argv[1]))
{
pos_channel = argv[1];
pos_args = 2;
+2 -2
View File
@@ -210,7 +210,7 @@ irc_ignore_check (struct t_irc_server *server, const char *channel,
server_match = 0;
channel_match = 0;
if (!server || (strcmp (ptr_ignore->server, "*") == 0))
if (strcmp (ptr_ignore->server, "*") == 0)
server_match = 1;
else
server_match = (weechat_strcasecmp (ptr_ignore->server,
@@ -220,7 +220,7 @@ irc_ignore_check (struct t_irc_server *server, const char *channel,
channel_match = 1;
else
{
if (irc_channel_is_channel (channel))
if (irc_channel_is_channel (server, channel))
{
channel_match = (weechat_strcasecmp (ptr_ignore->channel,
channel) == 0);
+32 -18
View File
@@ -70,7 +70,7 @@ irc_info_get_info_cb (void *data, const char *info_name,
const char *arguments)
{
char *pos_comma, *pos_comma2, *server, *channel, *host;
const char *nick, *isupport_value;
const char *nick, *pos_channel, *isupport_value;
static char str_true[2] = "1";
struct t_irc_server *ptr_server;
struct t_irc_channel *ptr_channel;
@@ -80,7 +80,20 @@ irc_info_get_info_cb (void *data, const char *info_name,
if (weechat_strcasecmp (info_name, "irc_is_channel") == 0)
{
if (irc_channel_is_channel (arguments))
ptr_server = NULL;
pos_channel = arguments;
pos_comma = strchr (arguments, ',');
if (pos_comma)
{
pos_channel = pos_comma + 1;
server = weechat_strndup (arguments, pos_comma - arguments);
if (server)
{
ptr_server = irc_server_search (server);
free (server);
}
}
if (irc_channel_is_channel (ptr_server, pos_channel))
return str_true;
return NULL;
}
@@ -135,11 +148,13 @@ irc_info_get_info_cb (void *data, const char *info_name,
}
else
{
if (irc_channel_is_channel (arguments))
channel = strdup (arguments);
else
if (irc_server_search (arguments))
server = strdup (arguments);
else
channel = strdup (arguments);
}
if (server)
ptr_server = irc_server_search (server);
/*
* replace channel by nick in host if channel is not a channel
@@ -147,7 +162,7 @@ irc_info_get_info_cb (void *data, const char *info_name,
*/
if (channel && host)
{
if (!irc_channel_is_channel (channel))
if (!irc_channel_is_channel (ptr_server, channel))
{
free (channel);
channel = NULL;
@@ -159,12 +174,8 @@ irc_info_get_info_cb (void *data, const char *info_name,
}
/* search for server or channel buffer */
if (server)
{
ptr_server = irc_server_search (server);
if (ptr_server && channel)
ptr_channel = irc_channel_search (ptr_server, channel);
}
if (server && ptr_server && channel)
ptr_channel = irc_channel_search (ptr_server, channel);
if (server)
free (server);
@@ -252,10 +263,12 @@ irc_info_get_info_hashtable_cb (void *data, const char *info_name,
if (weechat_strcasecmp (info_name, "irc_message_parse") == 0)
{
server = weechat_hashtable_get (hashtable, "server");
ptr_server = (server) ? irc_server_search (server) : NULL;
message = weechat_hashtable_get (hashtable, "message");
if (message)
{
value = irc_message_parse_to_hashtable (message);
value = irc_message_parse_to_hashtable (ptr_server, message);
return value;
}
}
@@ -567,8 +580,8 @@ irc_info_init ()
{
/* info hooks */
weechat_hook_info ("irc_is_channel",
N_("1 if string is a valid IRC channel name"),
N_("channel name"),
N_("1 if string is a valid IRC channel name for server"),
N_("server,channel (server is optional)"),
&irc_info_get_info_cb, NULL);
weechat_hook_info ("irc_is_nick",
N_("1 if string is a valid IRC nick name"),
@@ -606,7 +619,8 @@ irc_info_init ()
/* info_hashtable hooks */
weechat_hook_info_hashtable ("irc_message_parse",
N_("parse an IRC message"),
N_("\"message\": IRC message"),
N_("\"message\": IRC message, "
"\"server\": server name (optional)"),
/* TRANSLATORS: please do not translate key names (enclosed by quotes) */
N_("\"nick\": nick, \"host\": host, "
"\"command\": command, \"channel\": channel, "
@@ -614,8 +628,8 @@ irc_info_init ()
&irc_info_get_info_hashtable_cb, NULL);
weechat_hook_info_hashtable ("irc_message_split",
N_("split an IRC message (to fit in 512 bytes)"),
N_("\"message\": IRC message, \"server\": server "
"name (optional)"),
N_("\"message\": IRC message, "
"\"server\": server name (optional)"),
/* TRANSLATORS: please do not translate key names (enclosed by quotes) */
N_("\"msg1\" ... \"msgN\": messages to send "
"(without final \"\\r\\n\"), "
+10 -7
View File
@@ -37,8 +37,9 @@
*/
void
irc_message_parse (const char *message, char **nick, char **host,
char **command, char **channel, char **arguments)
irc_message_parse (struct t_irc_server *server, const char *message,
char **nick, char **host, char **command, char **channel,
char **arguments)
{
const char *pos, *pos2, *pos3, *pos4, *pos5;
@@ -108,7 +109,7 @@ irc_message_parse (const char *message, char **nick, char **host,
*arguments = strdup (pos2);
if (pos2[0] != ':')
{
if (irc_channel_is_channel (pos2))
if (irc_channel_is_channel (server, pos2))
{
pos3 = strchr (pos2, ' ');
if (channel)
@@ -137,7 +138,7 @@ irc_message_parse (const char *message, char **nick, char **host,
{
pos3++;
}
if (irc_channel_is_channel (pos3))
if (irc_channel_is_channel (server, pos3))
{
pos5 = strchr (pos3, ' ');
if (channel)
@@ -172,13 +173,15 @@ irc_message_parse (const char *message, char **nick, char **host,
*/
struct t_hashtable *
irc_message_parse_to_hashtable (const char *message)
irc_message_parse_to_hashtable (struct t_irc_server *server,
const char *message)
{
char *nick, *host, *command, *channel, *arguments;
char empty_str[1] = { '\0' };
struct t_hashtable *hashtable;
irc_message_parse (message, &nick, &host, &command, &channel, &arguments);
irc_message_parse (server, message, &nick, &host, &command, &channel,
&arguments);
hashtable = weechat_hashtable_new (8,
WEECHAT_HASHTABLE_STRING,
@@ -815,7 +818,7 @@ irc_message_split (struct t_irc_server *server, const char *message)
*/
if (index_args + 2 <= argc - 1)
{
if (irc_channel_is_channel (argv[index_args + 1]))
if (irc_channel_is_channel (server, argv[index_args + 1]))
{
snprintf (target, sizeof (target), "%s %s",
argv[index_args], argv[index_args + 1]);
+5 -4
View File
@@ -23,10 +23,11 @@
struct t_irc_server;
struct t_irc_channel;
extern void irc_message_parse (const char *message, char **nick, char **host,
char **command, char **channel,
char **arguments);
extern struct t_hashtable *irc_message_parse_to_hashtable (const char *message);
extern void irc_message_parse (struct t_irc_server *server, const char *message,
char **nick, char **host, char **command,
char **channel, char **arguments);
extern struct t_hashtable *irc_message_parse_to_hashtable (struct t_irc_server *server,
const char *message);
extern const char *irc_message_get_nick_from_host (const char *host);
extern const char *irc_message_get_address_from_host (const char *host);
extern char *irc_message_replace_vars (struct t_irc_server *server,
+4 -4
View File
@@ -605,8 +605,8 @@ irc_notify_hsignal_cb (void *data, const char *signal,
}
for (i = 0; i < num_messages; i++)
{
irc_message_parse (messages[i], NULL, NULL, NULL, NULL,
&arguments);
irc_message_parse (ptr_server, messages[i], NULL, NULL, NULL,
NULL, &arguments);
if (arguments)
{
pos = strchr (arguments, ' ');
@@ -685,8 +685,8 @@ irc_notify_hsignal_cb (void *data, const char *signal,
{
for (i = 0; i < num_messages; i++)
{
irc_message_parse (messages[0], NULL, NULL, &irc_cmd, NULL,
&arguments);
irc_message_parse (ptr_server, messages[0], NULL, NULL,
&irc_cmd, NULL, &arguments);
if (irc_cmd && arguments)
{
if (strcmp (irc_cmd, "401") == 0)
+22 -7
View File
@@ -742,7 +742,7 @@ IRC_PROTOCOL_CALLBACK(mode)
pos_modes = (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3];
if (irc_channel_is_channel (argv[2]))
if (irc_channel_is_channel (server, argv[2]))
{
ptr_channel = irc_channel_search (server, argv[2]);
if (ptr_channel)
@@ -954,7 +954,7 @@ IRC_PROTOCOL_CALLBACK(notice)
if (argc < 4)
return WEECHAT_RC_ERROR;
pos_target = argv[2];
is_channel = irc_channel_is_channel (pos_target + 1);
is_channel = irc_channel_is_channel (server, pos_target + 1);
if ((pos_target[0] == '@') && is_channel)
{
pos_target++;
@@ -984,7 +984,7 @@ IRC_PROTOCOL_CALLBACK(notice)
}
else
{
if (pos_target && irc_channel_is_channel (pos_target))
if (pos_target && irc_channel_is_channel (server, pos_target))
{
/* notice for channel */
ptr_channel = irc_channel_search (server, pos_target);
@@ -1375,7 +1375,7 @@ IRC_PROTOCOL_CALLBACK(privmsg)
pos_args = (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3];
/* receiver is a channel ? */
if (irc_channel_is_channel (argv[2]))
if (irc_channel_is_channel (server, argv[2]))
{
ptr_channel = irc_channel_search (server, argv[2]);
if (ptr_channel)
@@ -1674,7 +1674,7 @@ IRC_PROTOCOL_CALLBACK(topic)
IRC_PROTOCOL_MIN_ARGS(3);
if (!irc_channel_is_channel (argv[2]))
if (!irc_channel_is_channel (server, argv[2]))
{
weechat_printf (server->buffer,
_("%s%s: \"%s\" command received without channel"),
@@ -1974,6 +1974,21 @@ IRC_PROTOCOL_CALLBACK(005)
pos2[0] = ' ';
}
/* save chantypes */
pos = strstr (argv_eol[3], "CHANTYPES=");
if (pos)
{
pos += 10;
pos2 = strchr (pos, ' ');
if (pos2)
pos2[0] = '\0';
if (server->chantypes)
free (server->chantypes);
server->chantypes = strdup (pos);
if (pos2)
pos2[0] = ' ';
}
/* save whole message (concatenate to existing isupport, if any) */
pos_start = NULL;
pos = strstr (argv_eol[3], " :");
@@ -2813,7 +2828,7 @@ IRC_PROTOCOL_CALLBACK(330_343)
}
else
{
ptr_channel = (irc_channel_is_channel (argv[3])) ?
ptr_channel = (irc_channel_is_channel (server, argv[3])) ?
irc_channel_search (server, argv[3]) : NULL;
ptr_buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
weechat_printf_tags (irc_msgbuffer_get_target_buffer (server, argv[3],
@@ -3528,7 +3543,7 @@ IRC_PROTOCOL_CALLBACK(353)
IRC_PROTOCOL_MIN_ARGS(5);
if (irc_channel_is_channel (argv[3]))
if (irc_channel_is_channel (server, argv[3]))
{
pos_channel = argv[3];
args = 4;
+18 -8
View File
@@ -482,9 +482,9 @@ irc_server_get_isupport_value (struct t_irc_server *server, const char *feature)
* irc_server_set_prefix_modes_chars: set "prefix_modes" and "prefix_chars" in
* server using value of PREFIX in IRC
* message 005
* for example, if prefix is "(aohv)&@%+",
* prefix_modes = "aohv"
* prefix_chars = "&@%+"
* for example, if prefix is "(ohv)@%+",
* prefix_modes = "ohv"
* prefix_chars = "@%+"
*/
void
@@ -719,6 +719,7 @@ irc_server_alloc (const char *name)
new_server->prefix_chars = NULL;
new_server->nick_max_length = 0;
new_server->casemapping = IRC_SERVER_CASEMAPPING_RFC1459;
new_server->chantypes = NULL;
new_server->reconnect_delay = 0;
new_server->reconnect_start = 0;
new_server->command_time = 0;
@@ -954,7 +955,7 @@ irc_server_alloc_with_url (const char *irc_url)
/* autojoin */
if (pos_channel && pos_channel[0])
{
if (irc_channel_is_channel (pos_channel))
if (irc_channel_is_channel (ptr_server, pos_channel))
server_autojoin = strdup (pos_channel);
else
{
@@ -1652,7 +1653,7 @@ irc_server_send_one_msg (struct t_irc_server *server, int flags,
rc = 1;
irc_message_parse (message, &nick, NULL, &command, &channel, NULL);
irc_message_parse (server, message, &nick, NULL, &command, &channel, NULL);
snprintf (str_modifier, sizeof (str_modifier),
"irc_out_%s",
(command) ? command : "unknown");
@@ -2076,7 +2077,9 @@ irc_server_msgq_flush ()
irc_raw_print (irc_recv_msgq->server, IRC_RAW_FLAG_RECV,
ptr_data);
irc_message_parse (ptr_data, NULL, NULL, &command, NULL, NULL);
irc_message_parse (irc_recv_msgq->server,
ptr_data, NULL, NULL, &command, NULL,
NULL);
snprintf (str_modifier, sizeof (str_modifier),
"irc_in_%s",
(command) ? command : "unknown");
@@ -2112,11 +2115,14 @@ irc_server_msgq_flush ()
ptr_msg);
}
irc_message_parse (ptr_msg, &nick, &host, &command,
irc_message_parse (irc_recv_msgq->server,
ptr_msg, &nick, &host, &command,
&channel, &arguments);
/* convert charset for message */
if (channel && irc_channel_is_channel (channel))
if (channel
&& irc_channel_is_channel (irc_recv_msgq->server,
channel))
{
snprintf (modifier_data, sizeof (modifier_data),
"%s.%s.%s",
@@ -4170,6 +4176,7 @@ irc_server_hdata_server_cb (void *data, const char *hdata_name)
WEECHAT_HDATA_VAR(struct t_irc_server, prefix_chars, STRING, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, nick_max_length, INTEGER, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, casemapping, INTEGER, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, chantypes, STRING, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_delay, INTEGER, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, reconnect_start, TIME, NULL);
WEECHAT_HDATA_VAR(struct t_irc_server, command_time, TIME, NULL);
@@ -4361,6 +4368,8 @@ irc_server_add_to_infolist (struct t_infolist *infolist,
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "casemapping_string", irc_server_casemapping_string[server->casemapping]))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "chantypes", server->chantypes))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "reconnect_delay", server->reconnect_delay))
return 0;
if (!weechat_infolist_new_var_time (ptr_item, "reconnect_start", server->reconnect_start))
@@ -4666,6 +4675,7 @@ irc_server_print_log ()
weechat_log_printf (" casemapping. . . . . : %d (%s)",
ptr_server->casemapping,
irc_server_casemapping_string[ptr_server->casemapping]);
weechat_log_printf (" chantypes. . . . . . : '%s'", ptr_server->chantypes);
weechat_log_printf (" reconnect_delay. . . : %d", ptr_server->reconnect_delay);
weechat_log_printf (" reconnect_start. . . : %ld", ptr_server->reconnect_start);
weechat_log_printf (" command_time . . . . : %ld", ptr_server->command_time);
+3 -2
View File
@@ -163,10 +163,11 @@ struct t_irc_server
char *nick; /* current nickname */
char *nick_modes; /* nick modes */
char *isupport; /* copy of message 005 (ISUPPORT) */
char *prefix_modes; /* prefix modes from msg 005 (eg "aohv") */
char *prefix_chars; /* prefix chars from msg 005 (eg "&@%+") */
char *prefix_modes; /* prefix modes from msg 005 (eg "ohv") */
char *prefix_chars; /* prefix chars from msg 005 (eg "@%+") */
int nick_max_length; /* max lenth of nick (from msg 005) */
int casemapping; /* casemapping from msg 005 */
char *chantypes; /* chantypes from msg 005 (eg "&#") */
int reconnect_delay; /* current reconnect delay (growing) */
time_t reconnect_start; /* this time + delay = reconnect time */
time_t command_time; /* this time + command_delay = time to */
+3
View File
@@ -374,6 +374,9 @@ irc_upgrade_read_cb (void *data,
}
irc_upgrade_current_server->nick_max_length = weechat_infolist_integer (infolist, "nick_max_length");
irc_upgrade_current_server->casemapping = weechat_infolist_integer (infolist, "casemapping");
str = weechat_infolist_string (infolist, "chantypes");
if (str)
irc_upgrade_current_server->chantypes = strdup (str);
irc_upgrade_current_server->reconnect_delay = weechat_infolist_integer (infolist, "reconnect_delay");
irc_upgrade_current_server->reconnect_start = weechat_infolist_time (infolist, "reconnect_start");
irc_upgrade_current_server->command_time = weechat_infolist_time (infolist, "command_time");