summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--po/cs.po723
-rw-r--r--po/de.po725
-rw-r--r--po/es.po729
-rw-r--r--po/fr.po715
-rw-r--r--po/hu.po717
-rw-r--r--po/ru.po715
-rw-r--r--po/weechat.pot529
-rw-r--r--src/plugins/irc/irc-channel.c3
-rw-r--r--src/plugins/irc/irc-input.c2
-rw-r--r--src/plugins/irc/irc-mode.c51
-rw-r--r--src/plugins/irc/irc-nick.c47
-rw-r--r--src/plugins/irc/irc-nick.h2
-rw-r--r--src/plugins/irc/irc-protocol.c5082
-rw-r--r--src/plugins/irc/irc-protocol.h93
-rw-r--r--src/plugins/irc/irc-server.c42
-rw-r--r--src/plugins/irc/irc-server.h14
-rw-r--r--src/plugins/irc/irc.c14
17 files changed, 5052 insertions, 5151 deletions
diff --git a/po/cs.po b/po/cs.po
index 532d84e77..91704e984 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2008-03-07 23:18+0100\n"
+"POT-Creation-Date: 2008-03-15 09:33+0100\n"
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -819,6 +819,18 @@ msgstr ""
msgid "\t\tDay changed to %s"
msgstr "Změnil se den na %s\n"
+msgid "display WeeChat logo at startup"
+msgstr "zobrazí WeeChat logo při spuštění"
+
+msgid "display WeeChat version at startup"
+msgstr "zobrazí verzi WeeChat při spuštění"
+
+msgid "command executed when WeeChat starts, before loading plugins"
+msgstr ""
+
+msgid "command executed when WeeChat starts, after loading plugins"
+msgstr ""
+
msgid ""
"if set, uses real white color, disabled by default for terms with white "
"background (if you never use white background, you should turn on this "
@@ -836,12 +848,6 @@ msgstr "uložit soubor s nastavením při ukončení"
msgid "set title for window (terminal for Curses GUI) with name and version"
msgstr "nastaví titulek okna (terminálu pro Cruses GUI) s jménem a verzí"
-msgid "display WeeChat logo at startup"
-msgstr "zobrazí WeeChat logo při spuštění"
-
-msgid "display WeeChat version at startup"
-msgstr "zobrazí verzi WeeChat při spuštění"
-
msgid "WeeChat slogan (if empty, slogan is not used)"
msgstr "WeeChat slogan (pokud je prázdné, není slogan použit)"
@@ -3403,6 +3409,304 @@ msgstr "%s nepřipojen k serveru\n"
msgid "%s: this buffer is not a channel!"
msgstr "Tohe není okno kanálu!\n"
+#, fuzzy, c-format
+msgid "%sYou have been invited to %s%s%s by %s%s"
+msgstr "Byl jsi pozván na %s%s%s od %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create new channel \"%s\""
+msgstr "%s nemohu vytvořit nový kanál \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
+msgstr "%s%s %s(%s%s%s)%s se připojil %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: channel \"%s\" not found for \"%s\" command"
+msgstr "%s kanál \"%s\" nebyl nalezen příkazem \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
+msgstr "%s%s%s byl vykopnut %s%s%s z %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s"
+msgstr "%s%s%s byl vykopnut %s%s%s z %s%s"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s %s(%s%s%s)"
+msgstr "%s%s%s byl zabit %s%s%s ze serveru"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s"
+msgstr "Nyní známý jako %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
+msgstr "Mód %s%s %s[%s%s%s]%s od %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode %s[%s%s%s]%s by %s%s"
+msgstr "Uživatelský mód %s[%s%s%s]%s od %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sYou are now known as %s%s"
+msgstr "Nyní známý jako %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is now known as %s%s"
+msgstr "%s%s%s nyní známý jako %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
+msgstr "CTCP %sVERSION%s odpověď od %s%s%s: %s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
+msgstr "CTCP %sPING%s odpověď od %s%s%s: %ld.%ld sekund\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s opustil %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
+msgstr "%s%s %s(%s%s%s)%s opustil %s%s"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
+msgstr "CTCP %sVERSION%s obdržen od %s%s"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s"
+msgstr "CTCP %sVERSION%s obdržen od %s%s"
+
+#, c-format
+msgid "Channel %s: * %s %s"
+msgstr "Kanál %s: %s %s"
+
+#, fuzzy, c-format
+msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
+msgstr "Obdržen CTCP %sZVUK%s \"%s\" od %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s received from %s%s"
+msgstr "CTCP %sPING%s obdržen od %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
+msgstr "Neznámý CTCP %s%s%s obdržen od %s%s"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s"
+msgstr "Neznámý CTCP %s%s%s obdržen od %s%s"
+
+#, c-format
+msgid "Channel %s: %s> %s"
+msgstr "Kanál %s: %s> %s"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot parse \"%s\" command"
+msgstr "%s nemohu rozpársovat příkaz \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s: not enough memory for \"%s\" command"
+msgstr "%s nedostatek paměti pro nové DCC\n"
+
+#, fuzzy, c-format
+msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
+msgstr "%s neznámý DCC CHAT typ obdržen od "
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s skončil"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit"
+msgstr "%s%s %s(%s%s%s)%s skončil"
+
+#, fuzzy, c-format
+msgid "%s%s: \"%s\" command received without channel"
+msgstr "%s \"%s\" příkaz obdržen bez kanálu\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
+msgstr "%s%s%s změnil téma pro %s%s%s na:"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has unset topic for %s%s"
+msgstr "%s%s%s zrušil téma pro %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sWallops from %s%s %s(%s%s%s)%s: %s"
+msgstr "%s%s %s(%s%s@%s%s)%s byl %s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode for %s%s%s is %s[%s%s%s]"
+msgstr "Uživatelský mód pro %s%s%s je %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is away: %s"
+msgstr "%s%s%s je pryč: %s\n"
+
+#, fuzzy, c-format
+msgid "%sUsers online: %s%s"
+msgstr "Uživatelů online: "
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s@%s%s)%s was %s"
+msgstr "%s%s %s(%s%s@%s%s)%s byl %s\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
+"at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, přihlášen v: %s%s"
+
+#, fuzzy
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "hodina"
+msgstr[1] "hodina"
+
+#, fuzzy
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuta"
+msgstr[1] "minuta"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, přihlášen v: %s%s"
+
+#, fuzzy, c-format
+msgid "%sChannel created on %s"
+msgstr "Kanál vytvořen v %s"
+
+#, fuzzy, c-format
+msgid "%sChannel %s%s%s created on %s"
+msgstr "Kanál vytvořen v %s"
+
+#, fuzzy, c-format
+msgid "%sNo topic set for channel %s%s"
+msgstr "Není nastaveno téma pro %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s is: \"%s%s\""
+msgstr "Téma pro %s%s%s je: "
+
+#, fuzzy, c-format
+msgid "%sTopic set by %s%s%s on %s"
+msgstr "Téma nastevil %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s set by %s%s%s on %s"
+msgstr "Téma nastevil %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has invited %s%s%s on %s%s"
+msgstr "%s%s%s pozval %s%s%s na %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify channel for \"%s\" command"
+msgstr "%s nemohu identifikovat kanál pro příkaz \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify nickname for \"%s\" command"
+msgstr "%s nemohu identifikovat přezdívku pro příkaz \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%sChannel reop %s%s%s: %s%s"
+msgstr "Reop kanálu %s%s%s: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s]%s exception %s%s%s"
+msgstr "%s[%s%s%s] %s%s%s takázaný\n"
+
+#, c-format
+msgid " by %s%s %s(%s%s%s)"
+msgstr " od %s%s %s(%s%s%s)"
+
+#, c-format
+msgid " by %s%s"
+msgstr " od %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
+msgstr "%s nemohu vztvořit přezdívku \"%s\" pro kanál \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%sNicks %s%s%s: %s[%s%s%s]"
+msgstr "%sServer: %s%s %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid ""
+"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgstr ""
+"Kanál %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
+
+msgid "nicks"
+msgstr "přezdívky"
+
+msgid "nick"
+msgstr "přezdívka"
+
+msgid "ops"
+msgstr "ops"
+
+msgid "op"
+msgstr "op"
+
+msgid "halfops"
+msgstr "částeční-ops"
+
+msgid "halfop"
+msgstr "částečný-op"
+
+msgid "voices"
+msgstr "voices"
+
+msgid "voice"
+msgstr "voice"
+
+msgid "normal"
+msgstr "normální"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned by "
+msgstr "%s[%s%s%s] %s%s%s zakázal "
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned"
+msgstr "%s[%s%s%s] %s%s%s takázaný\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use or invalid, closing "
+"connection with server"
+msgstr ""
+"%s: všechny deklarované přezdívky jsou již používány nebo nevalidní, zavírám "
+"spojení se serverem!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
+msgstr ""
+"%s: přezdívka \"%s\" je již používaná, zkouším druhou přezdívku \"%s\"\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use, closing connection with "
+"server"
+msgstr ""
+"%s: všechny deklarované přezdívky jsou již používány, zavírám spojení se "
+"serverem!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
+msgstr ""
+"%s: přezdívka \"%s\" je již používaná, zkouším druhou přezdívku \"%s\"\n"
+
msgid "error received from IRC server"
msgstr "přijata chyba z IRC serveru"
@@ -3421,9 +3725,6 @@ msgstr "řetězec uživatelského módu"
msgid "away message"
msgstr "zpráva nepřítomnosti"
-msgid "userhost"
-msgstr "uživatel"
-
msgid "ison"
msgstr "ison"
@@ -3472,8 +3773,9 @@ msgstr "/list začátek"
msgid "channel (for /list)"
msgstr "kanál (pro /list)"
-msgid "/list end"
-msgstr "/list konec"
+#, fuzzy
+msgid "end of /list"
+msgstr "konec /who seznamu"
msgid "channel mode"
msgstr "mód kanálu"
@@ -3695,316 +3997,22 @@ msgid "whois (secure connection)"
msgstr "whois (zabezpečená část)"
#, fuzzy, c-format
-msgid "You have been invited to %s%s%s by %s%s"
-msgstr "Byl jsi pozván na %s%s%s od %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: channel \"%s\" not found for \"%s\" command"
-msgstr "%s kanál \"%s\" nebyl nalezen příkazem \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host"
-msgstr "%s \"%s\" příkaz obdržen bez hosta\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create new channel \"%s\""
-msgstr "%s nemohu vytvořit nový kanál \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
-msgstr "%s%s %s(%s%s%s)%s se připojil %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
-msgstr "%s%s%s byl vykopnut %s%s%s z %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s"
-msgstr "%s%s%s byl vykopnut %s%s%s z %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server %s(%s%s%s)"
-msgstr "%s%s%s byl zabit %s%s%s ze serveru"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server"
-msgstr "%s%s%s byl zabit %s%s%s ze serveru"
-
-#, fuzzy, c-format
-msgid "%s%s: host not found for \"%s\" command"
-msgstr "%s host pro příkaz \"%s\" nenalezen\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel or nickname"
-msgstr "%s \"%s\" příkaz obdržen bez kanálu nebo přezdívky\n"
-
-#, fuzzy, c-format
-msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
-msgstr "Mód %s%s %s[%s%s%s]%s od %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sUser mode %s[%s%s%s]%s by %s%s"
-msgstr "Uživatelský mód %s[%s%s%s]%s od %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sYou are now known as %s%s"
-msgstr "Nyní známý jako %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is now known as %s%s"
-msgstr "%s%s%s nyní známý jako %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname not found for \"%s\" command"
-msgstr "%s přezdívka nenalezena pro příkaz \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s reply from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s odpověď od %s%s%s: %s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
-msgstr "CTCP %sPING%s odpověď od %s%s%s: %ld.%ld sekund\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host or channel"
-msgstr "%s \"%s\" příkaz obdržen bez hosta nebo kanálu\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s opustil %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
-msgstr "%s%s %s(%s%s%s)%s opustil %s%s"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s received from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s obdržen od %s%s"
-
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s"
-msgstr "CTCP %sVERSION%s obdržen od %s%s"
-
-#, c-format
-msgid "Channel %s: * %s %s"
-msgstr "Kanál %s: %s %s"
-
-#, fuzzy, c-format
-msgid "Received a CTCP %sSOUND%s \"%s\" from %s%s"
-msgstr "Obdržen CTCP %sZVUK%s \"%s\" od %s%s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s received from %s%s"
-msgstr "CTCP %sPING%s obdržen od %s%s\n"
-
-#, fuzzy, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s%s: %s"
-msgstr "Neznámý CTCP %s%s%s obdržen od %s%s"
-
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s"
-msgstr "Neznámý CTCP %s%s%s obdržen od %s%s"
-
-#, c-format
-msgid "Channel %s: %s> %s"
-msgstr "Kanál %s: %s> %s"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot parse \"%s\" command"
-msgstr "%s nemohu rozpársovat příkaz \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
-msgstr "%s neznámý DCC CHAT typ obdržen od "
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s skončil"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel"
-msgstr "%s \"%s\" příkaz obdržen bez kanálu\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
-msgstr "%s%s%s změnil téma pro %s%s%s na:"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has unset topic for %s%s"
-msgstr "%s%s%s zrušil téma pro %s%s\n"
-
-#, fuzzy, c-format
-msgid "WALLOPS from %s%s%s: %s"
-msgstr "WALLOPS od %s%s%s: %s\n"
-
-#, fuzzy, c-format
-msgid "User mode for %s%s%s is %s[%s%s%s]"
-msgstr "Uživatelský mód pro %s%s%s je %s[%s%s%s]\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is away: %s"
-msgstr "%s%s%s je pryč: %s\n"
-
-msgid "Users online: "
-msgstr "Uživatelů online: "
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s help mode (+h)"
-msgstr "%s[%s%s%s]%s mód nápovědy (+h)\n"
-
-#, fuzzy, c-format
-msgid "%s%s %s(%s%s@%s%s)%s was %s"
-msgstr "%s%s %s(%s%s@%s%s)%s byl %s\n"
-
-#, fuzzy, c-format
-msgid ""
-"%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
-"at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, přihlášen v: %s%s"
-
-#, fuzzy
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "hodina"
-msgstr[1] "hodina"
-
-#, fuzzy
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minuta"
-msgstr[1] "minuta"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, přihlášen v: %s%s"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s Channels: "
-msgstr "%s[%s%s%s]%s nečinný: "
-
-#, fuzzy, c-format
-msgid "%sChannel created on %s"
-msgstr "Kanál vytvořen v %s"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify date/time for \"%s\" command"
-msgstr "%s nemohu identofikovat datum/čas pro příkaz \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify channel for \"%s\" command"
-msgstr "%s nemohu identifikovat kanál pro příkaz \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%sNo topic set for %s%s"
-msgstr "Není nastaveno téma pro %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sTopic for %s%s%s is: \"%s%s\""
-msgstr "Téma pro %s%s%s je: "
-
-#, fuzzy, c-format
-msgid "%sTopic set by %s%s%s, %s"
-msgstr "Téma nastevil %s%s%s, %s"
-
-#, fuzzy, c-format
-msgid "%s%s%s has invited %s%s%s on %s%s"
-msgstr "%s%s%s pozval %s%s%s na %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify nickname for \"%s\" command"
-msgstr "%s nemohu identifikovat přezdívku pro příkaz \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "Channel reop %s%s%s: %s%s"
-msgstr "Reop kanálu %s%s%s: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s]%s exception %s%s%s"
-msgstr "%s[%s%s%s] %s%s%s takázaný\n"
-
-#, c-format
-msgid " by %s%s %s(%s%s%s)"
-msgstr " od %s%s %s(%s%s%s)"
+msgid "%s%s: command \"%s\" not found:"
+msgstr "%s plugin \"%s\" nenalezen\n"
#, c-format
-msgid " by %s%s"
-msgstr " od %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
-msgstr "%sna %s%s%s/%s%s%s:%s ignoruji %s%s%s od %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
-msgstr "%s nemohu vztvořit přezdívku \"%s\" pro kanál \"%s\"\n"
-
-#, fuzzy, c-format
-msgid ""
-"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
msgstr ""
-"Kanál %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
-
-msgid "nicks"
-msgstr "přezdívky"
-
-msgid "nick"
-msgstr "přezdívka"
-
-msgid "ops"
-msgstr "ops"
-
-msgid "op"
-msgstr "op"
-
-msgid "halfops"
-msgstr "částeční-ops"
-
-msgid "halfop"
-msgstr "částečný-op"
-
-msgid "voices"
-msgstr "voices"
-
-msgid "voice"
-msgstr "voice"
-
-msgid "normal"
-msgstr "normální"
#, c-format
-msgid "%s[%s%s%s] %s%s%s banned by "
-msgstr "%s[%s%s%s] %s%s%s zakázal "
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s] %s%s%s banned"
-msgstr "%s[%s%s%s] %s%s%s takázaný\n"
-
-#, fuzzy, c-format
-msgid ""
-"%s%s: all declared nicknames are already in use or invalid, closing "
-"connection with server"
-msgstr ""
-"%s: všechny deklarované přezdívky jsou již používány nebo nevalidní, zavírám "
-"spojení se serverem!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
-msgstr ""
-"%s: přezdívka \"%s\" je již používaná, zkouším druhou přezdívku \"%s\"\n"
-
-#, fuzzy, c-format
msgid ""
-"%s%s: all declared nicknames are already in use, closing connection with "
-"server"
+"%s%s: too few arguments received from IRC server for command \"%s"
+"\" (received: %d arguments, expected: at least %d)"
msgstr ""
-"%s: všechny deklarované přezdívky jsou již používány, zavírám spojení se "
-"serverem!\n"
#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
-msgstr ""
-"%s: přezdívka \"%s\" je již používaná, zkouším druhou přezdívku \"%s\"\n"
+msgid "%s%s: \"%s\" command received without host"
+msgstr "%s \"%s\" příkaz obdržen bez hosta\n"
#, fuzzy, c-format
msgid "%s%s: error when allocating new server"
@@ -4034,18 +4042,6 @@ msgid "%s%s: not enough memory for received IRC message"
msgstr "%s nedostatek paměti pro získání IRC zprávy\n"
#, fuzzy, c-format
-msgid "%s%s: command \"%s\" failed"
-msgstr "%s příkaz \"%s\" selhal\n"
-
-#, fuzzy, c-format
-msgid "%s%s: no command to execute"
-msgstr "%s Žádný příkaz pro provedení!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
-msgstr "%s Neznámý příkaz: příkaz=\"%s\", host=\"%s\", parametry=\"%s\"\n"
-
-#, fuzzy, c-format
msgid "%s%s: cannot read data from socket, disconnecting from server..."
msgstr "%s nemůžu přečíst data ze soketu, odpojuji se od serveru...\n"
@@ -4427,6 +4423,76 @@ msgstr ""
msgid "%s%s: wrong arguments for function \"%s\""
msgstr "%s špatné parametry pro příkaz \"%s\"\n"
+#~ msgid "/list end"
+#~ msgstr "/list konec"
+
+#~ msgid "userhost"
+#~ msgstr "uživatel"
+
+#, fuzzy
+#~ msgid "Notice from %s%s %s(%s%s%s)%s: %s"
+#~ msgstr "%s%s %s(%s%s@%s%s)%s byl %s\n"
+
+#, fuzzy
+#~ msgid "Notice from %s%s%s: %s"
+#~ msgstr "Přezdívkz %s%s%s: %s["
+
+#, fuzzy
+#~ msgid "Notice: %s"
+#~ msgstr "voices"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s help mode (+h)"
+#~ msgstr "%s[%s%s%s]%s mód nápovědy (+h)\n"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s Channels: "
+#~ msgstr "%s[%s%s%s]%s nečinný: "
+
+#, fuzzy
+#~ msgid "%s%s: cannot identify date/time for \"%s\" command"
+#~ msgstr "%s nemohu identofikovat datum/čas pro příkaz \"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
+#~ msgstr "%sna %s%s%s/%s%s%s:%s ignoruji %s%s%s od %s%s\n"
+
+#, fuzzy
+#~ msgid "%s%s: command \"%s\" failed"
+#~ msgstr "%s příkaz \"%s\" selhal\n"
+
+#, fuzzy
+#~ msgid "%s%s: no command to execute"
+#~ msgstr "%s Žádný příkaz pro provedení!\n"
+
+#, fuzzy
+#~ msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
+#~ msgstr "%s Neznámý příkaz: příkaz=\"%s\", host=\"%s\", parametry=\"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s%s%s has killed %s%s%s"
+#~ msgstr "%s%s%s byl zabit %s%s%s ze serveru"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without channel or nickname"
+#~ msgstr "%s \"%s\" příkaz obdržen bez kanálu nebo přezdívky\n"
+
+#, fuzzy
+#~ msgid "%s%s: nickname not found for \"%s\" command"
+#~ msgstr "%s přezdívka nenalezena pro příkaz \"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without host or channel"
+#~ msgstr "%s \"%s\" příkaz obdržen bez hosta nebo kanálu\n"
+
+#, fuzzy
+#~ msgid "WALLOPS from %s%s%s: %s"
+#~ msgstr "WALLOPS od %s%s%s: %s\n"
+
+#, fuzzy
+#~ msgid "%s%s: host not found for \"%s\" command"
+#~ msgstr "%s host pro příkaz \"%s\" nenalezen\n"
+
#~ msgid "jump to raw IRC data buffer"
#~ msgstr "skočit na čistý IRC data buffer"
@@ -4546,10 +4612,6 @@ msgstr "%s špatné parametry pro příkaz \"%s\"\n"
#~ "[reload [name]] | [unload [name]]"
#, fuzzy
-#~ msgid "%s%s: not enough memory for function \"%s\""
-#~ msgstr "%s nedostatek paměti pro nové DCC\n"
-
-#, fuzzy
#~ msgid "[load filename] | [autoload] | [reload] | [unload [script]]"
#~ msgstr ""
#~ "[list [jméno]] | [listfull [jméno]] | [load jméno_souboru] | [autoload] | "
@@ -4574,9 +4636,6 @@ msgstr "%s špatné parametry pro příkaz \"%s\"\n"
#~ msgid "%s cannot find nick for sending message\n"
#~ msgstr "%s nemohu najít přezdívku pro poslání zprávy\n"
-#~ msgid "Nicks %s%s%s: %s["
-#~ msgstr "Přezdívkz %s%s%s: %s["
-
#, fuzzy
#~ msgid "%s%s: error sending data to IRC server"
#~ msgstr "%s chyba při zasílání dat na IRC server\n"
diff --git a/po/de.po b/po/de.po
index 3044311c9..11c8d6e28 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2008-03-07 23:18+0100\n"
+"POT-Creation-Date: 2008-03-15 09:33+0100\n"
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -815,6 +815,18 @@ msgstr ""
msgid "\t\tDay changed to %s"
msgstr "Ein neuer Tag bricht an, heute ist der %s\n"
+msgid "display WeeChat logo at startup"
+msgstr "WeeChat-Logo beim Start anzeigen"
+
+msgid "display WeeChat version at startup"
+msgstr "WeeChat-Version beim Start anzeigen"
+
+msgid "command executed when WeeChat starts, before loading plugins"
+msgstr ""
+
+msgid "command executed when WeeChat starts, after loading plugins"
+msgstr ""
+
msgid ""
"if set, uses real white color, disabled by default for terms with white "
"background (if you never use white background, you should turn on this "
@@ -833,12 +845,6 @@ msgid "set title for window (terminal for Curses GUI) with name and version"
msgstr ""
"Fenstertitel setzen (oder Terminaltitel im Curses-GUI) mit Name und Version"
-msgid "display WeeChat logo at startup"
-msgstr "WeeChat-Logo beim Start anzeigen"
-
-msgid "display WeeChat version at startup"
-msgstr "WeeChat-Version beim Start anzeigen"
-
msgid "WeeChat slogan (if empty, slogan is not used)"
msgstr "WeeChat-Slogan (wenn leer, wird keiner benutzt)"
@@ -3391,6 +3397,304 @@ msgstr "%s keine Verbindung zum Server \"%s\"!\n"
msgid "%s: this buffer is not a channel!"
msgstr "Dieses Fenster ist kein Channel!\n"
+#, fuzzy, c-format
+msgid "%sYou have been invited to %s%s%s by %s%s"
+msgstr "Sie wurden in den Channel %s%s%s von %s%s eingeladen\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create new channel \"%s\""
+msgstr "%s konnte den neuen Channel \"%s\" nicht erzeugen\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
+msgstr "%s%s %s(%s%s%s)%s ist in den Channel %s%s gekommen\n"
+
+#, fuzzy, c-format
+msgid "%s%s: channel \"%s\" not found for \"%s\" command"
+msgstr "%s Channel \"%s\" für den \"%s\"-Befehl nicht gefunden\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
+msgstr "%s%s%s hat %s%s%s aus %s%s gekickt"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s"
+msgstr "%s%s%s hat %s%s%s aus %s%s gekickt"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s %s(%s%s%s)"
+msgstr "%s%s%s hat %s%s%s vom Server getrennt"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s"
+msgstr "Sie sind nun als %s%s bekannt\n"
+
+#, fuzzy, c-format
+msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
+msgstr "Modus %s%s %s[%s%s%s]%s durch %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode %s[%s%s%s]%s by %s%s"
+msgstr "Usermodus %s[%s%s%s]%s by %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sYou are now known as %s%s"
+msgstr "Sie sind nun als %s%s bekannt\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is now known as %s%s"
+msgstr "%s%s%s ist nun bekannt als %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
+msgstr "CTCP %sVERSION%s Antwort von %s%s%s: %s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
+msgstr "CTCP %sPING%s Antwort von %s%s%s: %ld.%ld Sekunden\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s verlässt %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
+msgstr "%s%s %s(%s%s%s)%s verlässt %s%s"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
+msgstr "CTCP %sVERSION%s von %s%s empfangen"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s"
+msgstr "CTCP %sVERSION%s von %s%s empfangen"
+
+#, c-format
+msgid "Channel %s: * %s %s"
+msgstr "Channel %s: * %s %s"
+
+#, fuzzy, c-format
+msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
+msgstr "Ein CTCP %sSOUND%s \"%s\" wurde von %s%s empfangen\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s received from %s%s"
+msgstr "CTCP %sPING%s wurde von %s%s empfangen\n"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
+msgstr "Unbekannter CTCP %s%s%s von %s%s empfangen"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s"
+msgstr "Unbekannter CTCP %s%s%s von %s%s empfangen"
+
+#, c-format
+msgid "Channel %s: %s> %s"
+msgstr "Channel %s: %s> %s"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot parse \"%s\" command"
+msgstr "%s kann den \"%s\"-Befehl nicht parsen\n"
+
+#, fuzzy, c-format
+msgid "%s%s: not enough memory for \"%s\" command"
+msgstr "%s nicht genug Speicher für neuen DCC\n"
+
+#, fuzzy, c-format
+msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
+msgstr "%s unbekannter DCC CHAT-Typ emfpangen von "
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s hat das IRC verlassen"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit"
+msgstr "%s%s %s(%s%s%s)%s hat das IRC verlassen"
+
+#, fuzzy, c-format
+msgid "%s%s: \"%s\" command received without channel"
+msgstr "%s \"%s\"-Befehl empfangen ohne Channel\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
+msgstr "%s%s%s setzt das Topic für %s%s%s auf:"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has unset topic for %s%s"
+msgstr "%s%s%s hat das Topic von %s%s entfernt\n"
+
+#, fuzzy, c-format
+msgid "%sWallops from %s%s %s(%s%s%s)%s: %s"
+msgstr "%s%s %s(%s%s@%s%s)%s war %s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode for %s%s%s is %s[%s%s%s]"
+msgstr "Usermodus für %s%s%s ist %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is away: %s"
+msgstr "%s%s%s ist abwesend: %s\n"
+
+#, fuzzy, c-format
+msgid "%sUsers online: %s%s"
+msgstr "User online: "
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s@%s%s)%s was %s"
+msgstr "%s%s %s(%s%s@%s%s)%s war %s\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
+"at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, hat sich um %s%s angemeldet"
+
+#, fuzzy
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "Stunde"
+msgstr[1] "Stunde"
+
+#, fuzzy
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "Minute"
+msgstr[1] "Minute"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, hat sich um %s%s angemeldet"
+
+#, fuzzy, c-format
+msgid "%sChannel created on %s"
+msgstr "Channel erstellt am %s"
+
+#, fuzzy, c-format
+msgid "%sChannel %s%s%s created on %s"
+msgstr "Channel erstellt am %s"
+
+#, fuzzy, c-format
+msgid "%sNo topic set for channel %s%s"
+msgstr "Kein Topic gesetzt für %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s is: \"%s%s\""
+msgstr "Das Topic von %s%s%s lautet: "
+
+#, fuzzy, c-format
+msgid "%sTopic set by %s%s%s on %s"
+msgstr "Topic gesetzt von %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s set by %s%s%s on %s"
+msgstr "Topic gesetzt von %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has invited %s%s%s on %s%s"
+msgstr "%s%s%s hat %s%s%s in den Channel %s%s eingeladen\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify channel for \"%s\" command"
+msgstr "%s kann für den \"%s\"-Befehl keinen Channel identifizieren\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify nickname for \"%s\" command"
+msgstr "%s kann für den \"%s\"-Befehl keinen Nickname identifizieren\n"
+
+#, fuzzy, c-format
+msgid "%sChannel reop %s%s%s: %s%s"
+msgstr "Channel-Reop %s%s%s: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s]%s exception %s%s%s"
+msgstr "%s[%s%s%s] %s%s%s gebannt\n"
+
+#, c-format
+msgid " by %s%s %s(%s%s%s)"
+msgstr " durch %s%s %s(%s%s%s)"
+
+#, c-format
+msgid " by %s%s"
+msgstr " durch %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
+msgstr "%s Nick \"%s\" für Channel \"%s\" konnte nicht angelegt werden\n"
+
+#, fuzzy, c-format
+msgid "%sNicks %s%s%s: %s[%s%s%s]"
+msgstr "%sServer: %s%s %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid ""
+"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgstr ""
+"Channel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
+
+msgid "nicks"
+msgstr "Nicks"
+
+msgid "nick"
+msgstr "Nick"
+
+msgid "ops"
+msgstr "Operatoren"
+
+msgid "op"
+msgstr "Operator"
+
+msgid "halfops"
+msgstr "Halb-Operatoren"
+
+msgid "halfop"
+msgstr "Halb-Operator"
+
+msgid "voices"
+msgstr "Gevoicete"
+
+msgid "voice"
+msgstr "Gevoiceter"
+
+msgid "normal"
+msgstr "normal"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned by "
+msgstr "%s[%s%s%s] %s%s%s wurde gebannt von "
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned"
+msgstr "%s[%s%s%s] %s%s%s gebannt\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use or invalid, closing "
+"connection with server"
+msgstr ""
+"%s: alle eingestellten Nicknames sind bereits in Verwendung, Verbindung wird "
+"getrennt!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
+msgstr ""
+"%s: Nickname \"%s\" wird bereits verwendet, versuche 2. Nickname \"%s\"\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use, closing connection with "
+"server"
+msgstr ""
+"%s: alle eingestellten Nicknames sind in Verwendung, Verbindung wird "
+"getrennt!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
+msgstr ""
+"%s: Nickname \"%s\" wird bereits verwendet, versuche 2. Nickname \"%s\"\n"
+
msgid "error received from IRC server"
msgstr "Fehlermeldung vom IRC-Server empfangen"
@@ -3409,9 +3713,6 @@ msgstr "Usermode-String"
msgid "away message"
msgstr "Abwesenheitsnachricht"
-msgid "userhost"
-msgstr "userhost"
-
msgid "ison"
msgstr "ison"
@@ -3460,8 +3761,9 @@ msgstr "Start von /list"
msgid "channel (for /list)"
msgstr "Channel (für /list)"
-msgid "/list end"
-msgstr "Ende von /list"
+#, fuzzy
+msgid "end of /list"
+msgstr "Ende der /who-Liste"
msgid "channel mode"
msgstr "Channelmode"
@@ -3685,317 +3987,22 @@ msgid "whois (secure connection)"
msgstr "whois (sichere Verbindung)"
#, fuzzy, c-format
-msgid "You have been invited to %s%s%s by %s%s"
-msgstr "Sie wurden in den Channel %s%s%s von %s%s eingeladen\n"
-
-#, fuzzy, c-format
-msgid "%s%s: channel \"%s\" not found for \"%s\" command"
-msgstr "%s Channel \"%s\" für den \"%s\"-Befehl nicht gefunden\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host"
-msgstr "%s \"%s\"-Befehl empfangen ohne Host\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create new channel \"%s\""
-msgstr "%s konnte den neuen Channel \"%s\" nicht erzeugen\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
-msgstr "%s%s %s(%s%s%s)%s ist in den Channel %s%s gekommen\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
-msgstr "%s%s%s hat %s%s%s aus %s%s gekickt"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s"
-msgstr "%s%s%s hat %s%s%s aus %s%s gekickt"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server %s(%s%s%s)"
-msgstr "%s%s%s hat %s%s%s vom Server getrennt"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server"
-msgstr "%s%s%s hat %s%s%s vom Server getrennt"
-
-#, fuzzy, c-format
-msgid "%s%s: host not found for \"%s\" command"
-msgstr "%s Host für den \"%s\"-Befehl nicht gefunden\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel or nickname"
-msgstr "%s \"%s\"-Befehl empfangen ohne Channel- oder Nickname\n"
-
-#, fuzzy, c-format
-msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
-msgstr "Modus %s%s %s[%s%s%s]%s durch %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sUser mode %s[%s%s%s]%s by %s%s"
-msgstr "Usermodus %s[%s%s%s]%s by %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sYou are now known as %s%s"
-msgstr "Sie sind nun als %s%s bekannt\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is now known as %s%s"
-msgstr "%s%s%s ist nun bekannt als %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname not found for \"%s\" command"
-msgstr "%s Nickname nicht gefunden für den \"%s\"-Befehl\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s reply from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s Antwort von %s%s%s: %s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
-msgstr "CTCP %sPING%s Antwort von %s%s%s: %ld.%ld Sekunden\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host or channel"
-msgstr "%s \"%s\"-Befehl empfangen ohne Host oder Channel\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s verlässt %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
-msgstr "%s%s %s(%s%s%s)%s verlässt %s%s"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s received from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s von %s%s empfangen"
-
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s"
-msgstr "CTCP %sVERSION%s von %s%s empfangen"
-
-#, c-format
-msgid "Channel %s: * %s %s"
-msgstr "Channel %s: * %s %s"
-
-#, fuzzy, c-format
-msgid "Received a CTCP %sSOUND%s \"%s\" from %s%s"
-msgstr "Ein CTCP %sSOUND%s \"%s\" wurde von %s%s empfangen\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s received from %s%s"
-msgstr "CTCP %sPING%s wurde von %s%s empfangen\n"
-
-#, fuzzy, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s%s: %s"
-msgstr "Unbekannter CTCP %s%s%s von %s%s empfangen"
-
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s"
-msgstr "Unbekannter CTCP %s%s%s von %s%s empfangen"
-
-#, c-format
-msgid "Channel %s: %s> %s"
-msgstr "Channel %s: %s> %s"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot parse \"%s\" command"
-msgstr "%s kann den \"%s\"-Befehl nicht parsen\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
-msgstr "%s unbekannter DCC CHAT-Typ emfpangen von "
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s hat das IRC verlassen"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel"
-msgstr "%s \"%s\"-Befehl empfangen ohne Channel\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
-msgstr "%s%s%s setzt das Topic für %s%s%s auf:"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has unset topic for %s%s"
-msgstr "%s%s%s hat das Topic von %s%s entfernt\n"
-
-#, fuzzy, c-format
-msgid "WALLOPS from %s%s%s: %s"
-msgstr "WALLOPS von %s%s%s: %s\n"
-
-#, fuzzy, c-format
-msgid "User mode for %s%s%s is %s[%s%s%s]"
-msgstr "Usermodus für %s%s%s ist %s[%s%s%s]\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is away: %s"
-msgstr "%s%s%s ist abwesend: %s\n"
-
-msgid "Users online: "
-msgstr "User online: "
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s help mode (+h)"
-msgstr "%s[%s%s%s]%s Hilfemodus (+h)\n"
-
-#, fuzzy, c-format
-msgid "%s%s %s(%s%s@%s%s)%s was %s"
-msgstr "%s%s %s(%s%s@%s%s)%s war %s\n"
-
-#, fuzzy, c-format
-msgid ""
-"%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
-"at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, hat sich um %s%s angemeldet"
-
-#, fuzzy
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "Stunde"
-msgstr[1] "Stunde"
-
-#, fuzzy
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "Minute"
-msgstr[1] "Minute"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, hat sich um %s%s angemeldet"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s Channels: "
-msgstr "%s[%s%s%s]%s idlet: "
-
-#, fuzzy, c-format
-msgid "%sChannel created on %s"
-msgstr "Channel erstellt am %s"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify date/time for \"%s\" command"
-msgstr ""
-"%s kann für den \"%s\"-Befehl kein Datum/keine Uhrzeit identifizieren\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify channel for \"%s\" command"
-msgstr "%s kann für den \"%s\"-Befehl keinen Channel identifizieren\n"
-
-#, fuzzy, c-format
-msgid "%sNo topic set for %s%s"
-msgstr "Kein Topic gesetzt für %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sTopic for %s%s%s is: \"%s%s\""
-msgstr "Das Topic von %s%s%s lautet: "
-
-#, fuzzy, c-format
-msgid "%sTopic set by %s%s%s, %s"
-msgstr "Topic gesetzt von %s%s%s, %s"
-
-#, fuzzy, c-format
-msgid "%s%s%s has invited %s%s%s on %s%s"
-msgstr "%s%s%s hat %s%s%s in den Channel %s%s eingeladen\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify nickname for \"%s\" command"
-msgstr "%s kann für den \"%s\"-Befehl keinen Nickname identifizieren\n"
-
-#, fuzzy, c-format
-msgid "Channel reop %s%s%s: %s%s"
-msgstr "Channel-Reop %s%s%s: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s]%s exception %s%s%s"
-msgstr "%s[%s%s%s] %s%s%s gebannt\n"
-
-#, c-format
-msgid " by %s%s %s(%s%s%s)"
-msgstr " durch %s%s %s(%s%s%s)"
+msgid "%s%s: command \"%s\" not found:"
+msgstr "%s Plugin \"%s\" nicht gefunden\n"
#, c-format
-msgid " by %s%s"
-msgstr " durch %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
-msgstr "%sin %s%s%s/%s%s%s:%s ignoriere %s%s%s von %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
-msgstr "%s Nick \"%s\" für Channel \"%s\" konnte nicht angelegt werden\n"
-
-#, fuzzy, c-format
-msgid ""
-"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
msgstr ""
-"Channel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
-
-msgid "nicks"
-msgstr "Nicks"
-
-msgid "nick"
-msgstr "Nick"
-
-msgid "ops"
-msgstr "Operatoren"
-
-msgid "op"
-msgstr "Operator"
-
-msgid "halfops"
-msgstr "Halb-Operatoren"
-
-msgid "halfop"
-msgstr "Halb-Operator"
-
-msgid "voices"
-msgstr "Gevoicete"
-
-msgid "voice"
-msgstr "Gevoiceter"
-
-msgid "normal"
-msgstr "normal"
#, c-format
-msgid "%s[%s%s%s] %s%s%s banned by "
-msgstr "%s[%s%s%s] %s%s%s wurde gebannt von "
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s] %s%s%s banned"
-msgstr "%s[%s%s%s] %s%s%s gebannt\n"
-
-#, fuzzy, c-format
msgid ""
-"%s%s: all declared nicknames are already in use or invalid, closing "
-"connection with server"
-msgstr ""
-"%s: alle eingestellten Nicknames sind bereits in Verwendung, Verbindung wird "
-"getrennt!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
-msgstr ""
-"%s: Nickname \"%s\" wird bereits verwendet, versuche 2. Nickname \"%s\"\n"
-
-#, fuzzy, c-format
-msgid ""
-"%s%s: all declared nicknames are already in use, closing connection with "
-"server"
+"%s%s: too few arguments received from IRC server for command \"%s"
+"\" (received: %d arguments, expected: at least %d)"
msgstr ""
-"%s: alle eingestellten Nicknames sind in Verwendung, Verbindung wird "
-"getrennt!\n"
#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
-msgstr ""
-"%s: Nickname \"%s\" wird bereits verwendet, versuche 2. Nickname \"%s\"\n"
+msgid "%s%s: \"%s\" command received without host"
+msgstr "%s \"%s\"-Befehl empfangen ohne Host\n"
#, fuzzy, c-format
msgid "%s%s: error when allocating new server"
@@ -4025,18 +4032,6 @@ msgid "%s%s: not enough memory for received IRC message"
msgstr "%s nicht genügend Speicher zum Empfangen der IRC-Nachricht vorhanden\n"
#, fuzzy, c-format
-msgid "%s%s: command \"%s\" failed"
-msgstr "%s der Befehl \"%s\" schlug fehl\n"
-
-#, fuzzy, c-format
-msgid "%s%s: no command to execute"
-msgstr "%s Kein Befehl zum Ausführen!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
-msgstr "%s Unbekannter Befehl: cmd=\"%s\", host=\"%s\", args=\"%s\"\n"
-
-#, fuzzy, c-format
msgid "%s%s: cannot read data from socket, disconnecting from server..."
msgstr "%s Socket-Lesefehler, die Serververbindung wird getrennt...\n"
@@ -4420,6 +4415,77 @@ msgstr ""
msgid "%s%s: wrong arguments for function \"%s\""
msgstr "%s fehlerhafte Argumente für der \"%s\"-Befehl\n"
+#~ msgid "/list end"
+#~ msgstr "Ende von /list"
+
+#~ msgid "userhost"
+#~ msgstr "userhost"
+
+#, fuzzy
+#~ msgid "Notice from %s%s %s(%s%s%s)%s: %s"
+#~ msgstr "%s%s %s(%s%s@%s%s)%s war %s\n"
+
+#, fuzzy
+#~ msgid "Notice from %s%s%s: %s"
+#~ msgstr "Nicks %s%s%s: %s["
+
+#, fuzzy
+#~ msgid "Notice: %s"
+#~ msgstr "Gevoicete"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s help mode (+h)"
+#~ msgstr "%s[%s%s%s]%s Hilfemodus (+h)\n"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s Channels: "
+#~ msgstr "%s[%s%s%s]%s idlet: "
+
+#, fuzzy
+#~ msgid "%s%s: cannot identify date/time for \"%s\" command"
+#~ msgstr ""
+#~ "%s kann für den \"%s\"-Befehl kein Datum/keine Uhrzeit identifizieren\n"
+
+#, fuzzy
+#~ msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
+#~ msgstr "%sin %s%s%s/%s%s%s:%s ignoriere %s%s%s von %s%s\n"
+
+#, fuzzy
+#~ msgid "%s%s: command \"%s\" failed"
+#~ msgstr "%s der Befehl \"%s\" schlug fehl\n"
+
+#, fuzzy
+#~ msgid "%s%s: no command to execute"
+#~ msgstr "%s Kein Befehl zum Ausführen!\n"
+
+#, fuzzy
+#~ msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
+#~ msgstr "%s Unbekannter Befehl: cmd=\"%s\", host=\"%s\", args=\"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s%s%s has killed %s%s%s"
+#~ msgstr "%s%s%s hat %s%s%s vom Server getrennt"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without channel or nickname"
+#~ msgstr "%s \"%s\"-Befehl empfangen ohne Channel- oder Nickname\n"
+
+#, fuzzy
+#~ msgid "%s%s: nickname not found for \"%s\" command"
+#~ msgstr "%s Nickname nicht gefunden für den \"%s\"-Befehl\n"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without host or channel"
+#~ msgstr "%s \"%s\"-Befehl empfangen ohne Host oder Channel\n"
+
+#, fuzzy
+#~ msgid "WALLOPS from %s%s%s: %s"
+#~ msgstr "WALLOPS von %s%s%s: %s\n"
+
+#, fuzzy
+#~ msgid "%s%s: host not found for \"%s\" command"
+#~ msgstr "%s Host für den \"%s\"-Befehl nicht gefunden\n"
+
#~ msgid "jump to raw IRC data buffer"
#~ msgstr "gehe zum IRC-Rohdaten-Puffer"
@@ -4542,10 +4608,6 @@ msgstr "%s fehlerhafte Argumente für der \"%s\"-Befehl\n"
#~ "[reload [Name]] | [unload [Name]]"
#, fuzzy
-#~ msgid "%s%s: not enough memory for function \"%s\""
-#~ msgstr "%s nicht genug Speicher für neuen DCC\n"
-
-#, fuzzy
#~ msgid "[load filename] | [autoload] | [reload] | [unload [script]]"
#~ msgstr ""
#~ "[list [Name]] | [listfull [Name]] | [load Dateiname] | [autoload] | "
@@ -4572,9 +4634,6 @@ msgstr "%s fehlerhafte Argumente für der \"%s\"-Befehl\n"
#~ "%s kann keinen Nickname finden, an den die Nachricht gesendet werden "
#~ "soll\n"
-#~ msgid "Nicks %s%s%s: %s["
-#~ msgstr "Nicks %s%s%s: %s["
-
#, fuzzy
#~ msgid "%s%s: error sending data to IRC server"
#~ msgstr "%s Fehler beim Senden von Daten an den IRC-Server\n"
diff --git a/po/es.po b/po/es.po
index 252005340..f162ffd52 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2008-03-07 23:18+0100\n"
+"POT-Creation-Date: 2008-03-15 09:33+0100\n"
"PO-Revision-Date: 2007-09-19 12:09+0200\n"
"Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -797,6 +797,18 @@ msgstr ""
msgid "\t\tDay changed to %s"
msgstr "Día cambiado a %s\n"
+msgid "display WeeChat logo at startup"
+msgstr "mostrar el logotipo de WeeChat en el arranque"
+
+msgid "display WeeChat version at startup"
+msgstr "mostrar la versión de Weechat en el arranque"
+
+msgid "command executed when WeeChat starts, before loading plugins"
+msgstr ""
+
+msgid "command executed when WeeChat starts, after loading plugins"
+msgstr ""
+
msgid ""
"if set, uses real white color, disabled by default for terms with white "
"background (if you never use white background, you should turn on this "
@@ -816,12 +828,6 @@ msgstr ""
"define el título de la ventana (el terminal para la interfaz Curses) con el "
"nombre y la versión"
-msgid "display WeeChat logo at startup"
-msgstr "mostrar el logotipo de WeeChat en el arranque"
-
-msgid "display WeeChat version at startup"
-msgstr "mostrar la versión de Weechat en el arranque"
-
msgid "WeeChat slogan (if empty, slogan is not used)"
msgstr "eslógan de WeeChat (si está vacío, el eslógan no será utilizado)"
@@ -3395,6 +3401,307 @@ msgstr "%s ¡no conectado al servidor \"%s\"!\n"
msgid "%s: this buffer is not a channel!"
msgstr "¡Esta ventana no es un canal!\n"
+#, fuzzy, c-format
+msgid "%sYou have been invited to %s%s%s by %s%s"
+msgstr "Usted ha sido invitado a %s%s%s por %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create new channel \"%s\""
+msgstr "%s no es posible crear un nuevo canal \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
+msgstr "%s%s %s(%s%s%s)%s se ha unido %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: channel \"%s\" not found for \"%s\" command"
+msgstr "%s canal \"%s\" no encontrado para el comando \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
+msgstr "%s%s%s ha pateado a %s%s%s de %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s"
+msgstr "%s%s%s ha pateado a %s%s%s de %s%s"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s %s(%s%s%s)"
+msgstr "%s%s%s ha expulsado a %s%s%s del servidor"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s"
+msgstr "Usted es conocido ahora como %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
+msgstr "%s%s %s(%s%s@%s%s)%s estaba %s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode %s[%s%s%s]%s by %s%s"
+msgstr "Modo de usuario %s[%s%s%s/%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid "%sYou are now known as %s%s"
+msgstr "Usted es conocido ahora como %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is now known as %s%s"
+msgstr "%s%s%s es conocido ahora como %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
+msgstr "CTCP %sVERSION%s respuesta de %s%s%s: %s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
+msgstr "CTCP %sPING%s respuesta de %s%s%s: %ld.%ld segundos\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s ha abandonado %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
+msgstr "%s%s %s(%s%s%s)%s ha abandonado %s%s"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
+msgstr "CTCP %sVERSION%s recibido de %s%s"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s"
+msgstr "CTCP %sVERSION%s recibido de %s%s"
+
+#, fuzzy, c-format
+msgid "Channel %s: * %s %s"
+msgstr "reop canal %s%s%s: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
+msgstr "Recibido un CTCP %sSOUND%s \"%s\" de %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s received from %s%s"
+msgstr "CTCP %sPING%s recibido de %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
+msgstr "CTCP desconocido %s%s%s recibido de %s%s"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s"
+msgstr "CTCP desconocido %s%s%s recibido de %s%s"
+
+#, fuzzy, c-format
+msgid "Channel %s: %s> %s"
+msgstr "reop canal %s%s%s: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot parse \"%s\" command"
+msgstr "%s no es posible analizar el comando \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s: not enough memory for \"%s\" command"
+msgstr "%s no hay memoria suficiente para un nuevo DCC\n"
+
+#, fuzzy, c-format
+msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
+msgstr "%s tipo DCC CHAT desconocido recibido de "
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s ha salido"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit"
+msgstr "%s%s %s(%s%s%s)%s ha salido"
+
+#, fuzzy, c-format
+msgid "%s%s: \"%s\" command received without channel"
+msgstr "%s comando \"%s\" recibido sin canal\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
+msgstr "%s%s%s ha cambiado el tema para %s%s%s a:"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has unset topic for %s%s"
+msgstr "%s%s%s ha quitado el tema para %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sWallops from %s%s %s(%s%s%s)%s: %s"
+msgstr "%s%s %s(%s%s@%s%s)%s estaba %s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode for %s%s%s is %s[%s%s%s]"
+msgstr "Modo de usuario %s[%s%s%s/%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is away: %s"
+msgstr "%s%s%s está ausente: %s\n"
+
+#, fuzzy, c-format
+msgid "%sUsers online: %s%s"
+msgstr "Usuarios conectados: "
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s@%s%s)%s was %s"
+msgstr "%s%s %s(%s%s@%s%s)%s estaba %s\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
+"at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, firmó en: %s%s"
+
+#, fuzzy
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "hora"
+msgstr[1] "hora"
+
+#, fuzzy
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuto"
+msgstr[1] "minuto"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, firmó en: %s%s"
+
+#, fuzzy, c-format
+msgid "%sChannel created on %s"
+msgstr "lista de excepción de canal"
+
+#, fuzzy, c-format
+msgid "%sChannel %s%s%s created on %s"
+msgstr "lista de excepción de canal"
+
+#, fuzzy, c-format
+msgid "%sNo topic set for channel %s%s"
+msgstr "Sin tema establecido para %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s is: \"%s%s\""
+msgstr "El tema para %s%s%s es: "
+
+#, fuzzy, c-format
+msgid "%sTopic set by %s%s%s on %s"
+msgstr "Tema establecido por %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s set by %s%s%s on %s"
+msgstr "Tema establecido por %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has invited %s%s%s on %s%s"
+msgstr "%s%s%s ha invitado a %s%s%s en %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify channel for \"%s\" command"
+msgstr "%s no es posible identificar el canal para el comando \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify nickname for \"%s\" command"
+msgstr ""
+"%s no es posible determinar el nombre de usuario para el comando \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%sChannel reop %s%s%s: %s%s"
+msgstr "reop canal %s%s%s: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s]%s exception %s%s%s"
+msgstr "%s[%s%s%s] %s%s%s baneado\n"
+
+#, fuzzy, c-format
+msgid " by %s%s %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s ha salido"
+
+#, c-format
+msgid " by %s%s"
+msgstr ""
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
+msgstr "%s no es posible crear el usuario \"%s\" para el canal \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%sNicks %s%s%s: %s[%s%s%s]"
+msgstr "%sServidor:%s%s %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid ""
+"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgstr ""
+"Canal %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
+
+msgid "nicks"
+msgstr "usuarios"
+
+msgid "nick"
+msgstr "usuario"
+
+msgid "ops"
+msgstr "operadores"
+
+msgid "op"
+msgstr "operador"
+
+msgid "halfops"
+msgstr "semi-operadores"
+
+msgid "halfop"
+msgstr "semi-operador"
+
+msgid "voices"
+msgstr "voces"
+
+msgid "voice"
+msgstr "voz"
+
+msgid "normal"
+msgstr "normal"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned by "
+msgstr "%s[%s%s%s] %s%s%s baneado por "
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned"
+msgstr "%s[%s%s%s] %s%s%s baneado\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use or invalid, closing "
+"connection with server"
+msgstr ""
+"%s: todos los nombres de usuario declarados ya están en uso, ¡cerrando la "
+"conexión con el servidor!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
+msgstr ""
+"%s: el nombre de usuario \"%s\" ya está en uso, probando con el 2 nombre de "
+"usuario \"%s\"\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use, closing connection with "
+"server"
+msgstr ""
+"%s: todos los nombres de usuario declarados ya están en uso, ¡cerrando la "
+"conexión con el servidor!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
+msgstr ""
+"%s: el nombre de usuario \"%s\" ya está en uso, probando con el 2 nombre de "
+"usuario \"%s\"\n"
+
msgid "error received from IRC server"
msgstr "error recibido del servidor IRC"
@@ -3413,9 +3720,6 @@ msgstr "cadena de modo usuario"
msgid "away message"
msgstr "mensaje de ausencia"
-msgid "userhost"
-msgstr "nombre de la máquina de usuario"
-
msgid "ison"
msgstr "está presente"
@@ -3465,8 +3769,9 @@ msgstr "/list inicio"
msgid "channel (for /list)"
msgstr "canal (para /list)"
-msgid "/list end"
-msgstr "/list fin"
+#, fuzzy
+msgid "end of /list"
+msgstr "fin de la lista /who"
msgid "channel mode"
msgstr "modo de canal"
@@ -3693,319 +3998,22 @@ msgid "whois (secure connection)"
msgstr "quién es (conexión segura)"
#, fuzzy, c-format
-msgid "You have been invited to %s%s%s by %s%s"
-msgstr "Usted ha sido invitado a %s%s%s por %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: channel \"%s\" not found for \"%s\" command"
-msgstr "%s canal \"%s\" no encontrado para el comando \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host"
-msgstr "%s comando \"%s\" recibido sin host \n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create new channel \"%s\""
-msgstr "%s no es posible crear un nuevo canal \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
-msgstr "%s%s %s(%s%s%s)%s se ha unido %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
-msgstr "%s%s%s ha pateado a %s%s%s de %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s"
-msgstr "%s%s%s ha pateado a %s%s%s de %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server %s(%s%s%s)"
-msgstr "%s%s%s ha expulsado a %s%s%s del servidor"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server"
-msgstr "%s%s%s ha expulsado a %s%s%s del servidor"
-
-#, fuzzy, c-format
-msgid "%s%s: host not found for \"%s\" command"
-msgstr "%s anfitrión \"%s\" no encontrado para el comando \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel or nickname"
-msgstr "%s comando \"%s\" recibido sin canal o usuario\n"
-
-#, fuzzy, c-format
-msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
-msgstr "%s%s %s(%s%s@%s%s)%s estaba %s\n"
-
-#, fuzzy, c-format
-msgid "%sUser mode %s[%s%s%s]%s by %s%s"
-msgstr "Modo de usuario %s[%s%s%s/%s%s%s]\n"
-
-#, fuzzy, c-format
-msgid "%sYou are now known as %s%s"
-msgstr "Usted es conocido ahora como %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is now known as %s%s"
-msgstr "%s%s%s es conocido ahora como %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname not found for \"%s\" command"
-msgstr "%s nombre de usuario no encontrado para el comando \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s reply from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s respuesta de %s%s%s: %s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
-msgstr "CTCP %sPING%s respuesta de %s%s%s: %ld.%ld segundos\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host or channel"
-msgstr "%s comando \"%s\" recibido sin host o canal\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s ha abandonado %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
-msgstr "%s%s %s(%s%s%s)%s ha abandonado %s%s"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s received from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s recibido de %s%s"
-
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s"
-msgstr "CTCP %sVERSION%s recibido de %s%s"
-
-#, fuzzy, c-format
-msgid "Channel %s: * %s %s"
-msgstr "reop canal %s%s%s: %s%s\n"
-
-#, fuzzy, c-format
-msgid "Received a CTCP %sSOUND%s \"%s\" from %s%s"
-msgstr "Recibido un CTCP %sSOUND%s \"%s\" de %s%s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s received from %s%s"
-msgstr "CTCP %sPING%s recibido de %s%s\n"
-
-#, fuzzy, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s%s: %s"
-msgstr "CTCP desconocido %s%s%s recibido de %s%s"
-
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s"
-msgstr "CTCP desconocido %s%s%s recibido de %s%s"
-
-#, fuzzy, c-format
-msgid "Channel %s: %s> %s"
-msgstr "reop canal %s%s%s: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot parse \"%s\" command"
-msgstr "%s no es posible analizar el comando \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
-msgstr "%s tipo DCC CHAT desconocido recibido de "
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s ha salido"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel"
-msgstr "%s comando \"%s\" recibido sin canal\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
-msgstr "%s%s%s ha cambiado el tema para %s%s%s a:"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has unset topic for %s%s"
-msgstr "%s%s%s ha quitado el tema para %s%s\n"
-
-#, fuzzy, c-format
-msgid "WALLOPS from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s respuesta de %s%s%s: %s\n"
-
-#, fuzzy, c-format
-msgid "User mode for %s%s%s is %s[%s%s%s]"
-msgstr "Modo de usuario %s[%s%s%s/%s%s%s]\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is away: %s"
-msgstr "%s%s%s está ausente: %s\n"
-
-msgid "Users online: "
-msgstr "Usuarios conectados: "
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s help mode (+h)"
-msgstr "%s[%s%s%s]%s inactividad: "
-
-#, fuzzy, c-format
-msgid "%s%s %s(%s%s@%s%s)%s was %s"
-msgstr "%s%s %s(%s%s@%s%s)%s estaba %s\n"
-
-#, fuzzy, c-format
-msgid ""
-"%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
-"at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, firmó en: %s%s"
-
-#, fuzzy
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "hora"
-msgstr[1] "hora"
-
-#, fuzzy
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minuto"
-msgstr[1] "minuto"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, firmó en: %s%s"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s Channels: "
-msgstr "%s[%s%s%s]%s inactividad: "
-
-#, fuzzy, c-format
-msgid "%sChannel created on %s"
-msgstr "lista de excepción de canal"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify date/time for \"%s\" command"
-msgstr "%s no es posible identificar la fecha/hora para el comando \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify channel for \"%s\" command"
-msgstr "%s no es posible identificar el canal para el comando \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%sNo topic set for %s%s"
-msgstr "Sin tema establecido para %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sTopic for %s%s%s is: \"%s%s\""
-msgstr "El tema para %s%s%s es: "
-
-#, fuzzy, c-format
-msgid "%sTopic set by %s%s%s, %s"
-msgstr "Tema establecido por %s%s%s, %s"
-
-#, fuzzy, c-format
-msgid "%s%s%s has invited %s%s%s on %s%s"
-msgstr "%s%s%s ha invitado a %s%s%s en %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify nickname for \"%s\" command"
-msgstr ""
-"%s no es posible determinar el nombre de usuario para el comando \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "Channel reop %s%s%s: %s%s"
-msgstr "reop canal %s%s%s: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s]%s exception %s%s%s"
-msgstr "%s[%s%s%s] %s%s%s baneado\n"
-
-#, fuzzy, c-format
-msgid " by %s%s %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s ha salido"
+msgid "%s%s: command \"%s\" not found:"
+msgstr "%s plugin \"%s\" no encontrado\n"
#, c-format
-msgid " by %s%s"
-msgstr ""
-
-#, fuzzy, c-format
-msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
-msgstr "%sen %s%s%s/%s%s%s:%s ignorando %s%s%s de %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
-msgstr "%s no es posible crear el usuario \"%s\" para el canal \"%s\"\n"
-
-#, fuzzy, c-format
-msgid ""
-"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
msgstr ""
-"Canal %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
-
-msgid "nicks"
-msgstr "usuarios"
-
-msgid "nick"
-msgstr "usuario"
-
-msgid "ops"
-msgstr "operadores"
-
-msgid "op"
-msgstr "operador"
-
-msgid "halfops"
-msgstr "semi-operadores"
-
-msgid "halfop"
-msgstr "semi-operador"
-
-msgid "voices"
-msgstr "voces"
-
-msgid "voice"
-msgstr "voz"
-
-msgid "normal"
-msgstr "normal"
#, c-format
-msgid "%s[%s%s%s] %s%s%s banned by "
-msgstr "%s[%s%s%s] %s%s%s baneado por "
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s] %s%s%s banned"
-msgstr "%s[%s%s%s] %s%s%s baneado\n"
-
-#, fuzzy, c-format
msgid ""
-"%s%s: all declared nicknames are already in use or invalid, closing "
-"connection with server"
-msgstr ""
-"%s: todos los nombres de usuario declarados ya están en uso, ¡cerrando la "
-"conexión con el servidor!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
-msgstr ""
-"%s: el nombre de usuario \"%s\" ya está en uso, probando con el 2 nombre de "
-"usuario \"%s\"\n"
-
-#, fuzzy, c-format
-msgid ""
-"%s%s: all declared nicknames are already in use, closing connection with "
-"server"
+"%s%s: too few arguments received from IRC server for command \"%s"
+"\" (received: %d arguments, expected: at least %d)"
msgstr ""
-"%s: todos los nombres de usuario declarados ya están en uso, ¡cerrando la "
-"conexión con el servidor!\n"
#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
-msgstr ""
-"%s: el nombre de usuario \"%s\" ya está en uso, probando con el 2 nombre de "
-"usuario \"%s\"\n"
+msgid "%s%s: \"%s\" command received without host"
+msgstr "%s comando \"%s\" recibido sin host \n"
#, fuzzy, c-format
msgid "%s%s: error when allocating new server"
@@ -4036,18 +4044,6 @@ msgid "%s%s: not enough memory for received IRC message"
msgstr "%s memoria insuficiente para un mensaje IRC recibido\n"
#, fuzzy, c-format
-msgid "%s%s: command \"%s\" failed"
-msgstr "%s el comando \"%s\" ha fallado\n"
-
-#, fuzzy, c-format
-msgid "%s%s: no command to execute"
-msgstr "%s ¡Ningún comando para ejecutar!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
-msgstr "%s Comando desconocido: cmd=\"%s\", host=\"%s\", params=\"%s\"\n"
-
-#, fuzzy, c-format
msgid "%s%s: cannot read data from socket, disconnecting from server..."
msgstr ""
"%s no ha sido posible leer datos del socket, desconectando del servidor...\n"
@@ -4432,6 +4428,76 @@ msgstr ""
msgid "%s%s: wrong arguments for function \"%s\""
msgstr "%s argumentos incorrectos para el comando \"%s\"\n"
+#~ msgid "/list end"
+#~ msgstr "/list fin"
+
+#~ msgid "userhost"
+#~ msgstr "nombre de la máquina de usuario"
+
+#, fuzzy
+#~ msgid "Notice from %s%s %s(%s%s%s)%s: %s"
+#~ msgstr "%s%s %s(%s%s@%s%s)%s estaba %s\n"
+
+#, fuzzy
+#~ msgid "Notice from %s%s%s: %s"
+#~ msgstr "Usuarios %s%s%s: %s["
+
+#, fuzzy
+#~ msgid "Notice: %s"
+#~ msgstr "voces"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s help mode (+h)"
+#~ msgstr "%s[%s%s%s]%s inactividad: "
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s Channels: "
+#~ msgstr "%s[%s%s%s]%s inactividad: "
+
+#, fuzzy
+#~ msgid "%s%s: cannot identify date/time for \"%s\" command"
+#~ msgstr "%s no es posible identificar la fecha/hora para el comando \"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
+#~ msgstr "%sen %s%s%s/%s%s%s:%s ignorando %s%s%s de %s%s\n"
+
+#, fuzzy
+#~ msgid "%s%s: command \"%s\" failed"
+#~ msgstr "%s el comando \"%s\" ha fallado\n"
+
+#, fuzzy
+#~ msgid "%s%s: no command to execute"
+#~ msgstr "%s ¡Ningún comando para ejecutar!\n"
+
+#, fuzzy
+#~ msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
+#~ msgstr "%s Comando desconocido: cmd=\"%s\", host=\"%s\", params=\"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s%s%s has killed %s%s%s"
+#~ msgstr "%s%s%s ha expulsado a %s%s%s del servidor"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without channel or nickname"
+#~ msgstr "%s comando \"%s\" recibido sin canal o usuario\n"
+
+#, fuzzy
+#~ msgid "%s%s: nickname not found for \"%s\" command"
+#~ msgstr "%s nombre de usuario no encontrado para el comando \"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without host or channel"
+#~ msgstr "%s comando \"%s\" recibido sin host o canal\n"
+
+#, fuzzy
+#~ msgid "WALLOPS from %s%s%s: %s"
+#~ msgstr "CTCP %sVERSION%s respuesta de %s%s%s: %s\n"
+
+#, fuzzy
+#~ msgid "%s%s: host not found for \"%s\" command"
+#~ msgstr "%s anfitrión \"%s\" no encontrado para el comando \"%s\"\n"
+
#~ msgid "jump to raw IRC data buffer"
#~ msgstr "saltar al búfer de datos basura de IRC"
@@ -4549,10 +4615,6 @@ msgstr "%s argumentos incorrectos para el comando \"%s\"\n"
#~ msgstr "[cargar fichero] | [autocargar] | [recargar] | [descargar]"
#, fuzzy
-#~ msgid "%s%s: not enough memory for function \"%s\""
-#~ msgstr "%s no hay memoria suficiente para un nuevo DCC\n"
-
-#, fuzzy
#~ msgid "[load filename] | [autoload] | [reload] | [unload [script]]"
#~ msgstr "[cargar fichero] | [autocargar] | [recargar] | [descargar]"
@@ -4576,9 +4638,6 @@ msgstr "%s argumentos incorrectos para el comando \"%s\"\n"
#~ msgstr ""
#~ "%s no ha sido posible encontrar el usuario al que enviar el mensaje\n"
-#~ msgid "Nicks %s%s%s: %s["
-#~ msgstr "Usuarios %s%s%s: %s["
-
#, fuzzy
#~ msgid "%s%s: error sending data to IRC server"
#~ msgstr "%s error enviando datos al servidor IRC\n"
diff --git a/po/fr.po b/po/fr.po
index e59430d1b..50bba7fb9 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2008-03-07 23:18+0100\n"
-"PO-Revision-Date: 2008-03-08 10:59+0100\n"
+"POT-Creation-Date: 2008-03-15 09:33+0100\n"
+"PO-Revision-Date: 2008-03-15 09:34+0100\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@@ -472,10 +472,12 @@ msgid ""
msgstr ""
" add: ajoute une nouvelle barre\n"
" nom: nom de la barre (doit être unique)\n"
-" type: \"root\" (en dehors des fenêtres), \"window_active\" (dans la fenêtre active), \"window_inactive\" (dans chaque fenêtre inactive)\n"
+" type: \"root\" (en dehors des fenêtres), \"window_active\" (dans la "
+"fenêtre active), \"window_inactive\" (dans chaque fenêtre inactive)\n"
" position: bottom (bas), top (haut), left (gauche) ou right (droite)\n"
" taille: taille de la barre (en caractères)\n"
-"separateur: 1 pour utiliser un séparateur (ligne), 0 ou rien signifie sans séparateur\n"
+"separateur: 1 pour utiliser un séparateur (ligne), 0 ou rien signifie sans "
+"séparateur\n"
"objet1,...: objets pour cette barre\n"
" list: liste toutes les barres"
@@ -798,6 +800,20 @@ msgstr ""
msgid "\t\tDay changed to %s"
msgstr "\t\tJour changé: %s"
+msgid "display WeeChat logo at startup"
+msgstr "afficher le logo WeeChat au démarrage"
+
+msgid "display WeeChat version at startup"
+msgstr "afficher la version de WeeChat au démarrage"
+
+msgid "command executed when WeeChat starts, before loading plugins"
+msgstr ""
+"commande exécutée quand WeeChat démarre, avant le chargement des extensions"
+
+msgid "command executed when WeeChat starts, after loading plugins"
+msgstr ""
+"commande exécutée quand WeeChat démarre, après le chargement des extensions"
+
msgid ""
"if set, uses real white color, disabled by default for terms with white "
"background (if you never use white background, you should turn on this "
@@ -816,12 +832,6 @@ msgstr ""
"définit le titre de la fenêtre (terminal pour l'interface Curses) avec le "
"nom et la version"
-msgid "display WeeChat logo at startup"
-msgstr "afficher le logo WeeChat au démarrage"
-
-msgid "display WeeChat version at startup"
-msgstr "afficher la version de WeeChat au démarrage"
-
msgid "WeeChat slogan (if empty, slogan is not used)"
msgstr "slogan WeeChat (si vide, le slogan ne sera pas utilisé)"
@@ -3321,6 +3331,307 @@ msgstr "%s%s: vous n'êtes pas connecté au serveur"
msgid "%s: this buffer is not a channel!"
msgstr "%s: ce tampon n'est pas un canal !"
+#, c-format
+msgid "%sYou have been invited to %s%s%s by %s%s"
+msgstr "%sVous avez été invité sur %s%s%s par %s%s"
+
+#, c-format
+msgid "%s%s: cannot create new channel \"%s\""
+msgstr "%s%s: impossible de créer le nouveau canal \"%s\""
+
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
+msgstr "%s%s%s %s(%s%s%s)%s a rejoint %s%s"
+
+#, c-format
+msgid "%s%s: channel \"%s\" not found for \"%s\" command"
+msgstr "%s%s: canal \"%s\" non trouvé pour la commande \"%s\""
+
+#, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
+msgstr "%s%s%s%s a poussé dehors %s%s%s de %s%s %s(%s%s%s)"
+
+#, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s"
+msgstr "%s%s%s%s a poussé dehors %s%s%s de %s%s"
+
+#, c-format
+msgid "%sYou were killed by %s%s %s(%s%s%s)"
+msgstr "%sVous avez été tué par %s%s %s(%s%s%s)"
+
+#, c-format
+msgid "%sYou were killed by %s%s"
+msgstr "%sVous avez été tué par %s%s"
+
+#, c-format
+msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
+msgstr "%sMode %s%s %s[%s%s%s]%s par %s%s"
+
+#, c-format
+msgid "%sUser mode %s[%s%s%s]%s by %s%s"
+msgstr "%sMode utilisateur %s[%s%s%s]%s par %s%s"
+
+#, c-format
+msgid "%sYou are now known as %s%s"
+msgstr "%sVous êtes maintenant connu sous le nom %s%s"
+
+#, c-format
+msgid "%s%s%s%s is now known as %s%s"
+msgstr "%s%s%s%s est maintenant connu sous le nom %s%s"
+
+#, c-format
+msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
+msgstr "%sCTCP %sVERSION%s réponse de %s%s%s: %s"
+
+#, c-format
+msgid "%sCTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
+msgstr "%sCTCP %sPING%s réponse de %s%s%s: %ld.%ld %s"
+
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
+msgstr "%s%s%s %s(%s%s%s)%s a quitté %s%s %s(%s%s%s)"
+
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
+msgstr "%s%s%s %s(%s%s%s)%s a quitté %s%s"
+
+#, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
+msgstr "%sCTCP %sVERSION%s reçu de %s%s%s: %s"
+
+#, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s"
+msgstr "%sCTCP %sVERSION%s reçu de %s%s"
+
+#, c-format
+msgid "Channel %s: * %s %s"
+msgstr "Canal %s: * %s %s"
+
+#, c-format
+msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
+msgstr "%sCTCP %sSOUND%s \"%s\" reçu de %s%s"
+
+#, c-format
+msgid "%sCTCP %sPING%s received from %s%s"
+msgstr "%sCTCP %sPING%s reçu de %s%s"
+
+#, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
+msgstr "%sCTCP inconnu %s%s%s reçu de %s%s%s: %s"
+
+#, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s"
+msgstr "%sCTCP inconnu %s%s%s reçu de %s%s"
+
+#, c-format
+msgid "Channel %s: %s> %s"
+msgstr "Canal %s: %s> %s"
+
+#, c-format
+msgid "%s%s: cannot parse \"%s\" command"
+msgstr "%s%s: impossible d'analyser la commande \"%s\""
+
+#, c-format
+msgid "%s%s: not enough memory for \"%s\" command"
+msgstr "%s%s: pas assez de mémoire pour la commande \"%s\""
+
+#, c-format
+msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
+msgstr "%s%s: type de DCC CHAT inconnu reçu de %s%s%s: \"%s\""
+
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
+msgstr "%s%s%s %s(%s%s%s)%s a quitté %s(%s%s%s)"
+
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit"
+msgstr "%s%s%s %s(%s%s%s)%s a quitté"
+
+#, c-format
+msgid "%s%s: \"%s\" command received without channel"
+msgstr "%s%s: commande \"%s\" reçue sans canal"
+
+#, c-format
+msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
+msgstr "%s%s%s%s a changé le titre pour %s%s%s en: \"%s%s\""
+
+#, c-format
+msgid "%s%s%s%s has unset topic for %s%s"
+msgstr "%s%s%s%s a retiré le titre pour %s%s"
+
+#, c-format
+msgid "%sWallops from %s%s %s(%s%s%s)%s: %s"
+msgstr "%sWallops de %s%s %s(%s%s%s)%s: %s"
+
+#, c-format
+msgid "%sUser mode for %s%s%s is %s[%s%s%s]"
+msgstr "%sMode utilisateur pour %s%s%s est %s[%s%s%s]"
+
+#, c-format
+msgid "%s%s%s%s is away: %s"
+msgstr "%s%s%s%s est absent: %s"
+
+#, c-format
+msgid "%sUsers online: %s%s"
+msgstr "%sUtilisateurs en ligne: %s%s"
+
+#, c-format
+msgid "%s%s%s %s(%s%s@%s%s)%s was %s"
+msgstr "%s%s%s %s(%s%s@%s%s)%s était %s"
+
+#, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
+"at: %s%s"
+msgstr ""
+"%s%s[%s%s%s]%s inactivité: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, "
+"signé le: %s%s"
+
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "heure"
+msgstr[1] "heures"
+
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minute"
+msgstr[1] "minutes"
+
+#, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
+msgstr ""
+"%s%s[%s%s%s]%s inactivité: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signé le: %s%"
+"s"
+
+#, c-format
+msgid "%sChannel created on %s"
+msgstr "%sCanal créé le %s"
+
+#, c-format
+msgid "%sChannel %s%s%s created on %s"
+msgstr "%sCanal %s%s%s créé le %s"
+
+#, c-format
+msgid "%sNo topic set for channel %s%s"
+msgstr "%sPas de titre défini pour le canal %s%s"
+
+#, c-format
+msgid "%sTopic for %s%s%s is: \"%s%s\""
+msgstr "%sLe titre pour %s%s%s est: \"%s%s\""
+
+#, c-format
+msgid "%sTopic set by %s%s%s on %s"
+msgstr "%sTitre défini par %s%s%s le %s"
+
+#, c-format
+msgid "%sTopic for %s%s%s set by %s%s%s on %s"
+msgstr "%sTitre pour %s%s%s défini par %s%s%s le %s"
+
+#, c-format
+msgid "%s%s%s%s has invited %s%s%s on %s%s"
+msgstr "%s%s%s%s a invité %s%s%s sur %s%s"
+
+#, c-format
+msgid "%s%s: cannot identify channel for \"%s\" command"
+msgstr "%s%s: impossible de déterminer le canal pour la commande \"%s\""
+
+#, c-format
+msgid "%s%s: cannot identify nickname for \"%s\" command"
+msgstr "%s%s: impossible de déterminer le pseudo pour la commande \"%s\""
+
+#, c-format
+msgid "%sChannel reop %s%s%s: %s%s"
+msgstr "%sReop canal %s%s%s: %s%s"
+
+#, c-format
+msgid "%s%s[%s%s%s]%s exception %s%s%s"
+msgstr "%s%s[%s%s%s]%s exception %s%s%s"
+
+#, c-format
+msgid " by %s%s %s(%s%s%s)"
+msgstr " par %s%s %s(%s%s%s)"
+
+#, c-format
+msgid " by %s%s"
+msgstr " par %s%s"
+
+#, c-format
+msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
+msgstr "%s%s: impossible de créer le pseudo \"%s\" pour le canal \"%s\""
+
+#, c-format
+msgid "%sNicks %s%s%s: %s[%s%s%s]"
+msgstr "%sPseudos %s%s%s: %s[%s%s%s]"
+
+#, c-format
+msgid ""
+"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgstr ""
+"%sCanal %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+
+msgid "nicks"
+msgstr "pseudos"
+
+msgid "nick"
+msgstr "pseudo"
+
+msgid "ops"
+msgstr "ops"
+
+msgid "op"
+msgstr "op"
+
+msgid "halfops"
+msgstr "halfops"
+
+msgid "halfop"
+msgstr "halfop"
+
+msgid "voices"
+msgstr "voices"
+
+msgid "voice"
+msgstr "voice"
+
+msgid "normal"
+msgstr "normal"
+
+#, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned by "
+msgstr "%s%s[%s%s%s] %s%s%s banni par "
+
+#, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned"
+msgstr "%s%s[%s%s%s] %s%s%s banni"
+
+#, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use or invalid, closing "
+"connection with server"
+msgstr ""
+"%s%s: tous les pseudos déclarés sont déjà en cours d'utilisation ou "
+"invalides, fermeture de la connexion avec le serveur"
+
+#, c-format
+msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
+msgstr ""
+"%s%s: le pseudo \"%s\" est invalide, essai avec le pseudo n°%d (\"%s\")"
+
+#, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use, closing connection with "
+"server"
+msgstr ""
+"%s%s: tous les pseudos déclarés sont déjà en cours d'utilisation, fermeture "
+"de la connexion avec le serveur"
+
+#, c-format
+msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
+msgstr ""
+"%s%s: le pseudo \"%s\" est déjà en cours d'utilisation, essai avec le pseudo "
+"n°%d (\"%s\")"
+
msgid "error received from IRC server"
msgstr "erreur reçue du serveur IRC"
@@ -3339,9 +3650,6 @@ msgstr "chaîne de mode utilisateur"
msgid "away message"
msgstr "message d'absence"
-msgid "userhost"
-msgstr "nom d'hôte"
-
msgid "ison"
msgstr "est présent"
@@ -3370,7 +3678,7 @@ msgid "whowas"
msgstr "whowas"
msgid "end of /who list"
-msgstr "fin de /who list"
+msgstr "fin de la liste /who"
msgid "whois (idle)"
msgstr "whois (inactif)"
@@ -3390,8 +3698,9 @@ msgstr "/list début"
msgid "channel (for /list)"
msgstr "canal (pour /list)"
-msgid "/list end"
-msgstr "/list fin"
+#, fuzzy
+msgid "end of /list"
+msgstr "fin de /list"
msgid "channel mode"
msgstr "mode du canal"
@@ -3613,318 +3922,26 @@ msgid "whois (secure connection)"
msgstr "whois (connexion sécurisée)"
#, c-format
-msgid "You have been invited to %s%s%s by %s%s"
-msgstr "Vous avez été invité sur %s%s%s par %s%s"
-
-#, c-format
-msgid "%s%s: channel \"%s\" not found for \"%s\" command"
-msgstr "%s%s: canal \"%s\" non trouvé pour la commande \"%s\""
-
-#, c-format
-msgid "%s%s: \"%s\" command received without host"
-msgstr "%s%s: commande \"%s\" reçue sans hôte"
-
-#, c-format
-msgid "%s%s: cannot create new channel \"%s\""
-msgstr "%s%s: impossible de créer le nouveau canal \"%s\""
-
-#, c-format
-msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
-msgstr "%s%s%s %s(%s%s%s)%s a rejoint %s%s"
-
-#, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
-msgstr "%s%s%s%s a poussé dehors %s%s%s de %s%s %s(%s%s%s)"
-
-#, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s"
-msgstr "%s%s%s%s a poussé dehors %s%s%s de %s%s"
-
-#, c-format
-msgid "%s%s%s%s has killed %s%s%s from server %s(%s%s%s)"
-msgstr "%s%s%s%s a tué %s%s%s du serveur %s(%s%s%s)"
-
-#, c-format
-msgid "%s%s%s%s has killed %s%s%s from server"
-msgstr "%s%s%s%s a tué %s%s%s du serveur"
-
-#, c-format
-msgid "%s%s: host not found for \"%s\" command"
-msgstr "%s%s: hôte non trouvé pour la commande \"%s\""
-
-#, c-format
-msgid "%s%s: \"%s\" command received without channel or nickname"
-msgstr "%s%s: commande \"%s\" reçue sans canal ou pseudo"
-
-#, c-format
-msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
-msgstr "%sMode %s%s %s[%s%s%s]%s par %s%s"
+msgid "%s%s: command \"%s\" not found:"
+msgstr "%s%s: commande \"%s\" non trouvée:"
#, c-format
-msgid "%sUser mode %s[%s%s%s]%s by %s%s"
-msgstr "%sMode utilisateur %s[%s%s%s]%s par %s%s"
-
-#, c-format
-msgid "%sYou are now known as %s%s"
-msgstr "%sVous êtes maintenant connu sous le nom %s%s"
-
-#, c-format
-msgid "%s%s%s%s is now known as %s%s"
-msgstr "%s%s%s%s est maintenant connu sous le nom %s%s"
-
-#, c-format
-msgid "%s%s: nickname not found for \"%s\" command"
-msgstr "%s%s: pseudo non trouvé pour la commande \"%s\""
-
-#, c-format
-msgid "CTCP %sVERSION%s reply from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s réponse de %s%s%s: %s"
-
-#, c-format
-msgid "CTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
-msgstr "CTCP %sPING%s réponse de %s%s%s: %ld.%ld %s"
-
-#, c-format
-msgid "%s%s: \"%s\" command received without host or channel"
-msgstr "%s%s: commande \"%s\" reçue sans hôte ou canal"
-
-#, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
-msgstr "%s%s%s %s(%s%s%s)%s a quitté %s%s %s(%s%s%s)"
-
-#, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
-msgstr "%s%s%s %s(%s%s%s)%s a quitté %s%s"
-
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s reçu de %s%s%s: %s"
-
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s"
-msgstr "CTCP %sVERSION%s reçu de %s%s"
-
-#, c-format
-msgid "Channel %s: * %s %s"
-msgstr "Canal %s: * %s %s"
-
-#, c-format
-msgid "Received a CTCP %sSOUND%s \"%s\" from %s%s"
-msgstr "CTCP %sSOUND%s \"%s\" reçu de %s%s"
-
-#, c-format
-msgid "CTCP %sPING%s received from %s%s"
-msgstr "CTCP %sPING%s reçu de %s%s"
-
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s%s: %s"
-msgstr "CTCP inconnu %s%s%s reçu de %s%s%s: %s"
-
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s"
-msgstr "CTCP inconnu %s%s%s reçu de %s%s"
-
-#, c-format
-msgid "Channel %s: %s> %s"
-msgstr "Canal %s: %s> %s"
-
-#, c-format
-msgid "%s%s: cannot parse \"%s\" command"
-msgstr "%s%s: impossible d'analyser la commande \"%s\""
-
-#, c-format
-msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
-msgstr "%s%s: type de DCC CHAT inconnu reçu de %s%s%s: \"%s\""
-
-#, c-format
-msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
-msgstr "%s%s%s %s(%s%s%s)%s a quitté %s(%s%s%s)"
-
-#, c-format
-msgid "%s%s: \"%s\" command received without channel"
-msgstr "%s%s: commande \"%s\" reçue sans canal"
-
-#, c-format
-msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
-msgstr "%s%s%s%s a changé le titre pour %s%s%s en: \"%s%s\""
-
-#, c-format
-msgid "%s%s%s%s has unset topic for %s%s"
-msgstr "%s%s%s%s a retiré le titre pour %s%s"
-
-#, c-format
-msgid "WALLOPS from %s%s%s: %s"
-msgstr "WALLOPS de %s%s%s: %s"
-
-#, c-format
-msgid "User mode for %s%s%s is %s[%s%s%s]"
-msgstr "Mode utilisateur pour %s%s%s est %s[%s%s%s]"
-
-#, c-format
-msgid "%s%s%s%s is away: %s"
-msgstr "%s%s%s%s est absent: %s"
-
-msgid "Users online: "
-msgstr "Utilisateurs en ligne: "
-
-#, c-format
-msgid "%s[%s%s%s]%s help mode (+h)"
-msgstr "%s[%s%s%s]%s mode aide (+h)"
-
-#, c-format
-msgid "%s%s %s(%s%s@%s%s)%s was %s"
-msgstr "%s%s %s(%s%s@%s%s)%s était %s"
-
-#, c-format
-msgid ""
-"%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
-"at: %s%s"
+msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
msgstr ""
-"%s[%s%s%s]%s inactivité: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, "
-"signé le: %s%s"
-
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "heure"
-msgstr[1] "heures"
-
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minute"
-msgstr[1] "minutes"
-
-#, c-format
-msgid "%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
-msgstr ""
-"%s[%s%s%s]%s inactivité: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signé le: %s%s"
-
-#, c-format
-msgid "%s[%s%s%s]%s Channels: "
-msgstr "%s[%s%s%s]%s Canaux: "
-
-#, c-format
-msgid "%sChannel created on %s"
-msgstr "%sCanal créé le %s"
-
-#, c-format
-msgid "%s%s: cannot identify date/time for \"%s\" command"
-msgstr "%s%s: impossible d'identifier la date/heure pour la commande \"%s\""
-
-#, c-format
-msgid "%s%s: cannot identify channel for \"%s\" command"
-msgstr "%s%s: impossible de déterminer le canal pour la commande \"%s\""
-
-#, c-format
-msgid "%sNo topic set for %s%s"
-msgstr "%sPas de titre défini pour %s%s"
-
-#, c-format
-msgid "%sTopic for %s%s%s is: \"%s%s\""
-msgstr "%sLe titre pour %s%s%s est: \"%s%s\""
-
-#, c-format
-msgid "%sTopic set by %s%s%s, %s"
-msgstr "%sTitre défini par %s%s%s, %s"
-
-#, c-format
-msgid "%s%s%s has invited %s%s%s on %s%s"
-msgstr "%s%s%s a invité %s%s%s sur %s%s"
-
-#, c-format
-msgid "%s%s: cannot identify nickname for \"%s\" command"
-msgstr "%s%s: impossible de déterminer le pseudo pour la commande \"%s\""
-
-#, c-format
-msgid "Channel reop %s%s%s: %s%s"
-msgstr "Reop canal %s%s%s: %s%s"
-
-#, c-format
-msgid "%s%s[%s%s%s]%s exception %s%s%s"
-msgstr "%s%s[%s%s%s]%s exception %s%s%s"
-
-#, c-format
-msgid " by %s%s %s(%s%s%s)"
-msgstr " par %s%s %s(%s%s%s)"
-
-#, c-format
-msgid " by %s%s"
-msgstr " par %s%s"
-
-#, c-format
-msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
-msgstr "%s%s%s sur %s%s%s %s %s %s%s@%s %s(%s%s%s)"
-
-#, c-format
-msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
-msgstr "%s%s: impossible de créer le pseudo \"%s\" pour le canal \"%s\""
-
-#, c-format
-msgid ""
-"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
-msgstr ""
-"%sCanal %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
-
-msgid "nicks"
-msgstr "pseudos"
-
-msgid "nick"
-msgstr "pseudo"
-
-msgid "ops"
-msgstr "ops"
-
-msgid "op"
-msgstr "op"
-
-msgid "halfops"
-msgstr "halfops"
-
-msgid "halfop"
-msgstr "halfop"
-
-msgid "voices"
-msgstr "voices"
-
-msgid "voice"
-msgstr "voice"
-
-msgid "normal"
-msgstr "normal"
-
-#, c-format
-msgid "%s[%s%s%s] %s%s%s banned by "
-msgstr "%s[%s%s%s] %s%s%s banni par "
-
-#, c-format
-msgid "%s%s[%s%s%s] %s%s%s banned"
-msgstr "%s%s[%s%s%s] %s%s%s banni"
-
-#, c-format
-msgid ""
-"%s%s: all declared nicknames are already in use or invalid, closing "
-"connection with server"
-msgstr ""
-"%s%s: tous les pseudos déclarés sont déjà en cours d'utilisation ou "
-"invalides, fermeture de la connexion avec le serveur"
-
-#, c-format
-msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
-msgstr ""
-"%s%s: le pseudo \"%s\" est invalide, essai avec le pseudo n°%d (\"%s\")"
+"%s%s: echec d'analyse de la commande \"%s\" (merci de reporter ce problème "
+"aux développeurs):"
#, c-format
msgid ""
-"%s%s: all declared nicknames are already in use, closing connection with "
-"server"
+"%s%s: too few arguments received from IRC server for command \"%s"
+"\" (received: %d arguments, expected: at least %d)"
msgstr ""
-"%s%s: tous les pseudos déclarés sont déjà en cours d'utilisation, fermeture "
-"de la connexion avec le serveur"
+"%s%s: trop peu de paramètres reçus du serveur IRC pour la commande \"%s"
+"\" (reçu: %d paramètres, attendu: au moins %d)"
#, c-format
-msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
-msgstr ""
-"%s%s: le pseudo \"%s\" est déjà en cours d'utilisation, essai avec le pseudo "
-"n°%d (\"%s\")"
+msgid "%s%s: \"%s\" command received without host"
+msgstr "%s%s: commande \"%s\" reçue sans hôte"
#, c-format
msgid "%s%s: error when allocating new server"
@@ -3958,18 +3975,6 @@ msgid "%s%s: not enough memory for received IRC message"
msgstr "%s%s: mémoire insuffisante pour un message IRC reçu"
#, c-format
-msgid "%s%s: command \"%s\" failed"
-msgstr "%s%s: la commande \"%s\" a échoué"
-
-#, c-format
-msgid "%s%s: no command to execute"
-msgstr "%s%s: pas de commande à exécuter"
-
-#, c-format
-msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
-msgstr "%s%s: commande inconnue: cmd=\"%s\", hôte=\"%s\", paramètres=\"%s\""
-
-#, c-format
msgid "%s%s: cannot read data from socket, disconnecting from server..."
msgstr ""
"%s%s: impossible de lire des données sur la socket, déconnexion du serveur..."
@@ -4364,6 +4369,54 @@ msgstr ""
msgid "%s%s: wrong arguments for function \"%s\""
msgstr "%s%s: paramètres invalides pour la fonction \"%s\""
+#~ msgid "/list end"
+#~ msgstr "/list fin"
+
+#~ msgid "userhost"
+#~ msgstr "nom d'hôte"
+
+#~ msgid "Notice from %s%s %s(%s%s%s)%s: %s"
+#~ msgstr "Notice de %s%s %s(%s%s%s)%s: %s"
+
+#~ msgid "Notice from %s%s%s: %s"
+#~ msgstr "Notice de %s%s%s: %s"
+
+#~ msgid "Notice: %s"
+#~ msgstr "Notice: %s"
+
+#~ msgid "%s[%s%s%s]%s help mode (+h)"
+#~ msgstr "%s[%s%s%s]%s mode aide (+h)"
+
+#~ msgid "%s[%s%s%s]%s Channels: "
+#~ msgstr "%s[%s%s%s]%s Canaux: "
+
+#~ msgid "%s%s: cannot identify date/time for \"%s\" command"
+#~ msgstr "%s%s: impossible d'identifier la date/heure pour la commande \"%s\""
+
+#~ msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
+#~ msgstr "%s%s%s sur %s%s%s %s %s %s%s@%s %s(%s%s%s)"
+
+#~ msgid "%s%s: command \"%s\" failed"
+#~ msgstr "%s%s: la commande \"%s\" a échoué"
+
+#~ msgid "%s%s: no command to execute"
+#~ msgstr "%s%s: pas de commande à exécuter"
+
+#~ msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
+#~ msgstr "%s%s: commande inconnue: cmd=\"%s\", hôte=\"%s\", paramètres=\"%s\""
+
+#~ msgid "%s%s%s%s has killed %s%s%s"
+#~ msgstr "%s%s%s%s a tué %s%s%s"
+
+#~ msgid "%s%s: \"%s\" command received without channel or nickname"
+#~ msgstr "%s%s: commande \"%s\" reçue sans canal ou pseudo"
+
+#~ msgid "%s%s: nickname not found for \"%s\" command"
+#~ msgstr "%s%s: pseudo non trouvé pour la commande \"%s\""
+
+#~ msgid "%s%s: \"%s\" command received without host or channel"
+#~ msgstr "%s%s: commande \"%s\" reçue sans hôte ou canal"
+
#~ msgid "jump to raw IRC data buffer"
#~ msgstr "sauter au tampon IRC brut"
diff --git a/po/hu.po b/po/hu.po
index 6bfed4f6a..8a70787cc 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2008-03-07 23:18+0100\n"
+"POT-Creation-Date: 2008-03-15 09:33+0100\n"
"PO-Revision-Date: 2007-10-10 18:07+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -826,6 +826,18 @@ msgstr ""
msgid "\t\tDay changed to %s"
msgstr "A mai dátum: %s\n"
+msgid "display WeeChat logo at startup"
+msgstr "WeeChat logo mutatása induláskor"
+
+msgid "display WeeChat version at startup"
+msgstr "WeeChat verziójának mutatása induláskor"
+
+msgid "command executed when WeeChat starts, before loading plugins"
+msgstr ""
+
+msgid "command executed when WeeChat starts, after loading plugins"
+msgstr ""
+
msgid ""
"if set, uses real white color, disabled by default for terms with white "
"background (if you never use white background, you should turn on this "
@@ -845,12 +857,6 @@ msgstr ""
"ablak címsorának beállítása (Curses GUI esetén a terminálé) a program nevére "
"és verziójára"
-msgid "display WeeChat logo at startup"
-msgstr "WeeChat logo mutatása induláskor"
-
-msgid "display WeeChat version at startup"
-msgstr "WeeChat verziójának mutatása induláskor"
-
msgid "WeeChat slogan (if empty, slogan is not used)"
msgstr "WeeChat szlogen (ha üres, akkor nem használja a program)"
@@ -3409,6 +3415,300 @@ msgstr "%s nincs csatlakozva szerverhez!\n"
msgid "%s: this buffer is not a channel!"
msgstr "Ez az ablak nem egy szoba!\n"
+#, fuzzy, c-format
+msgid "%sYou have been invited to %s%s%s by %s%s"
+msgstr "Meghívást kapott a %s%s%s szobába %s%s felhasználótól\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create new channel \"%s\""
+msgstr "%s nem sikerült új szobát nyitni \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
+msgstr "%s%s %s(%s%s%s)%s belépett a(z) %s%s szobába\n"
+
+#, fuzzy, c-format
+msgid "%s%s: channel \"%s\" not found for \"%s\" command"
+msgstr "%s a \"%s\" szoba nem található a \"%s\" parancshoz\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
+msgstr "%s%s%s kirúgta %s%s%s-t a(z) %s%s szobából"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s"
+msgstr "%s%s%s kirúgta %s%s%s-t a(z) %s%s szobából"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s %s(%s%s%s)"
+msgstr "%s%s%s eltávolította %s%s%s-t a szerverről"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s"
+msgstr "Az új neved: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
+msgstr "A %s%s %s[%s%s%s]%s üzemmódot bekapcsolta: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode %s[%s%s%s]%s by %s%s"
+msgstr "A %s[%s%s%s]%s felhasználói üzemmódot bekapcsolta: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sYou are now known as %s%s"
+msgstr "Az új neved: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is now known as %s%s"
+msgstr "%s%s%s mostantól: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
+msgstr "CTCP %sVERSION%s válasz %s%s%s felhasználótól: %s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
+msgstr "CTCP %sPING%s válasz %s%s%s felhasználótól: %ld.%ld másodperc\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s elhagyta a(z) %s%s szobát"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
+msgstr "%s%s %s(%s%s%s)%s elhagyta a(z) %s%s szobát"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
+msgstr "CTCP %sVERSION%s válasz innen: %s%s"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s"
+msgstr "CTCP %sVERSION%s válasz innen: %s%s"
+
+#, c-format
+msgid "Channel %s: * %s %s"
+msgstr "%s szoba: * %s %s"
+
+#, fuzzy, c-format
+msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
+msgstr "CTCP %sSOUND%s (\"%s\") érkezett innen: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s received from %s%s"
+msgstr "CTCP %sPING%s érkezett innen: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
+msgstr "Ismeretlen CTCP %s%s%s érkezett innen: %s%s"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s"
+msgstr "Ismeretlen CTCP %s%s%s érkezett innen: %s%s"
+
+#, c-format
+msgid "Channel %s: %s> %s"
+msgstr "%s szoba: %s> %s"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot parse \"%s\" command"
+msgstr "%s nem sikerült végrehajtani a \"%s\" parancsot\n"
+
+#, fuzzy, c-format
+msgid "%s%s: not enough memory for \"%s\" command"
+msgstr "%s nincs elegendő memória új DCC számára\n"
+
+#, fuzzy, c-format
+msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
+msgstr "%s usmeretlen DCC CHAT típus érkezett a következőtől:"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s kilépett"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit"
+msgstr "%s%s %s(%s%s%s)%s kilépett"
+
+#, fuzzy, c-format
+msgid "%s%s: \"%s\" command received without channel"
+msgstr "%s \"%s\" parancs érkezett szoba megadása nélkül\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
+msgstr "%s%s%s megváltoztatta a %s%s%s szoba témáját:"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has unset topic for %s%s"
+msgstr "%s%s%s törölte a %s%s szoba témáját\n"
+
+#, fuzzy, c-format
+msgid "%sWallops from %s%s %s(%s%s%s)%s: %s"
+msgstr "%s%s %s(%s%s@%s%s)%s neve %s volt\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode for %s%s%s is %s[%s%s%s]"
+msgstr "%s%s%s felhasználói módja: %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is away: %s"
+msgstr "%s%s%s távol: %s\n"
+
+#, fuzzy, c-format
+msgid "%sUsers online: %s%s"
+msgstr "Online felhasználók: "
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s@%s%s)%s was %s"
+msgstr "%s%s %s(%s%s@%s%s)%s neve %s volt\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
+"at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, bejelentkezett: %s%s"
+
+#, fuzzy
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "óra"
+msgstr[1] "óra"
+
+#, fuzzy
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "perc"
+msgstr[1] "perc"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, bejelentkezett: %s%s"
+
+#, fuzzy, c-format
+msgid "%sChannel created on %s"
+msgstr "Szoba létrehozva: %s"
+
+#, fuzzy, c-format
+msgid "%sChannel %s%s%s created on %s"
+msgstr "Szoba létrehozva: %s"
+
+#, fuzzy, c-format
+msgid "%sNo topic set for channel %s%s"
+msgstr "Nincs téma beállítva a %s%s szobában\n"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s is: \"%s%s\""
+msgstr "A %s%s%s szoba témája: "
+
+#, fuzzy, c-format
+msgid "%sTopic set by %s%s%s on %s"
+msgstr "A témát beállította: %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s set by %s%s%s on %s"
+msgstr "A témát beállította: %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has invited %s%s%s on %s%s"
+msgstr "%s%s%s meghívta %s%s%s-t %s%s-kor\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify channel for \"%s\" command"
+msgstr "%s nem sikerült azonosítani a szobát a \"%s\" parancshoz\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify nickname for \"%s\" command"
+msgstr "%s nem sikerült a felhasználót meghatározni a \"%s\" parancshoz\n"
+
+#, fuzzy, c-format
+msgid "%sChannel reop %s%s%s: %s%s"
+msgstr "%s szoba: %s> %s"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s]%s exception %s%s%s"
+msgstr "%s[%s%s%s] %s%s%s kitiltva\n"
+
+#, c-format
+msgid " by %s%s %s(%s%s%s)"
+msgstr " a következőtől: %s%s %s(%s%s%s)"
+
+#, c-format
+msgid " by %s%s"
+msgstr " a következőtől: %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
+msgstr "%s nem sikerült a(z) \"%s\" nevet felvenni a \"%s\" szobában\n"
+
+#, fuzzy, c-format
+msgid "%sNicks %s%s%s: %s[%s%s%s]"
+msgstr "%s Szerver: %s%s %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid ""
+"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgstr ""
+"%s%s%s szoba: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
+
+msgid "nicks"
+msgstr "név"
+
+msgid "nick"
+msgstr "név"
+
+msgid "ops"
+msgstr "operátor"
+
+msgid "op"
+msgstr "operátor"
+
+msgid "halfops"
+msgstr "féloperátor"
+
+msgid "halfop"
+msgstr "féloperátor"
+
+msgid "voices"
+msgstr "voice"
+
+msgid "voice"
+msgstr "voice"
+
+msgid "normal"
+msgstr "normál"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned by "
+msgstr "%s[%s%s%s] %s%s%s-t kitiltotta "
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned"
+msgstr "%s[%s%s%s] %s%s%s kitiltva\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use or invalid, closing "
+"connection with server"
+msgstr ""
+"%s: minden megadott név foglalt vagy érvénytelen, kapcsolat bontása a "
+"szerverrel!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
+msgstr "%s: a(z) \"%s\" név már foglalt, próbálom a második nevet: \"%s\"\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use, closing connection with "
+"server"
+msgstr "%s: minden megadott név foglalt, kapcsolat bontása a szerverrel!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
+msgstr "%s: a(z) \"%s\" név már foglalt, próbálom a második nevet: \"%s\"\n"
+
msgid "error received from IRC server"
msgstr "az IRC szerver hibát jelzett"
@@ -3427,9 +3727,6 @@ msgstr "felhasználói mód neve"
msgid "away message"
msgstr "távollét üzenet"
-msgid "userhost"
-msgstr "felhasználó gépe"
-
msgid "ison"
msgstr "fentvan"
@@ -3478,8 +3775,9 @@ msgstr "/list indítása"
msgid "channel (for /list)"
msgstr "szoba (a /list parancshoz)"
-msgid "/list end"
-msgstr "/list vége"
+#, fuzzy
+msgid "end of /list"
+msgstr "a /who lista vége"
msgid "channel mode"
msgstr "szoba mód"
@@ -3701,312 +3999,22 @@ msgid "whois (secure connection)"
msgstr "kicsoda (titkosított kapcsolat)"
#, fuzzy, c-format
-msgid "You have been invited to %s%s%s by %s%s"
-msgstr "Meghívást kapott a %s%s%s szobába %s%s felhasználótól\n"
-
-#, fuzzy, c-format
-msgid "%s%s: channel \"%s\" not found for \"%s\" command"
-msgstr "%s a \"%s\" szoba nem található a \"%s\" parancshoz\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host"
-msgstr "%s \"%s\" parancs érkezett hoszt megadása nélkül\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create new channel \"%s\""
-msgstr "%s nem sikerült új szobát nyitni \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
-msgstr "%s%s %s(%s%s%s)%s belépett a(z) %s%s szobába\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
-msgstr "%s%s%s kirúgta %s%s%s-t a(z) %s%s szobából"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s"
-msgstr "%s%s%s kirúgta %s%s%s-t a(z) %s%s szobából"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server %s(%s%s%s)"
-msgstr "%s%s%s eltávolította %s%s%s-t a szerverről"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server"
-msgstr "%s%s%s eltávolította %s%s%s-t a szerverről"
-
-#, fuzzy, c-format
-msgid "%s%s: host not found for \"%s\" command"
-msgstr "a(z) %s gép nem található a(z) \"%s\" parancshoz\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel or nickname"
-msgstr "%s \"%s\" parancs érkezett szoba vagy név megadása nélkül\n"
-
-#, fuzzy, c-format
-msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
-msgstr "A %s%s %s[%s%s%s]%s üzemmódot bekapcsolta: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sUser mode %s[%s%s%s]%s by %s%s"
-msgstr "A %s[%s%s%s]%s felhasználói üzemmódot bekapcsolta: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sYou are now known as %s%s"
-msgstr "Az új neved: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is now known as %s%s"
-msgstr "%s%s%s mostantól: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname not found for \"%s\" command"
-msgstr "%s nem található név a \"%s\" parancshoz\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s reply from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s válasz %s%s%s felhasználótól: %s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
-msgstr "CTCP %sPING%s válasz %s%s%s felhasználótól: %ld.%ld másodperc\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host or channel"
-msgstr "%s \"%s\" parancs érkezett hoszt vagy szoba megadása nélkül\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s elhagyta a(z) %s%s szobát"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
-msgstr "%s%s %s(%s%s%s)%s elhagyta a(z) %s%s szobát"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s received from %s%s%s: %s"
-msgstr "CTCP %sVERSION%s válasz innen: %s%s"
-
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s"
-msgstr "CTCP %sVERSION%s válasz innen: %s%s"
-
-#, c-format
-msgid "Channel %s: * %s %s"
-msgstr "%s szoba: * %s %s"
-
-#, fuzzy, c-format
-msgid "Received a CTCP %sSOUND%s \"%s\" from %s%s"
-msgstr "CTCP %sSOUND%s (\"%s\") érkezett innen: %s%s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s received from %s%s"
-msgstr "CTCP %sPING%s érkezett innen: %s%s\n"
-
-#, fuzzy, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s%s: %s"
-msgstr "Ismeretlen CTCP %s%s%s érkezett innen: %s%s"
-
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s"
-msgstr "Ismeretlen CTCP %s%s%s érkezett innen: %s%s"
-
-#, c-format
-msgid "Channel %s: %s> %s"
-msgstr "%s szoba: %s> %s"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot parse \"%s\" command"
-msgstr "%s nem sikerült végrehajtani a \"%s\" parancsot\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
-msgstr "%s usmeretlen DCC CHAT típus érkezett a következőtől:"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s kilépett"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel"
-msgstr "%s \"%s\" parancs érkezett szoba megadása nélkül\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
-msgstr "%s%s%s megváltoztatta a %s%s%s szoba témáját:"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has unset topic for %s%s"
-msgstr "%s%s%s törölte a %s%s szoba témáját\n"
-
-#, fuzzy, c-format
-msgid "WALLOPS from %s%s%s: %s"
-msgstr "%s%s%s WALLOP-ot küldött: %s\n"
-
-#, fuzzy, c-format
-msgid "User mode for %s%s%s is %s[%s%s%s]"
-msgstr "%s%s%s felhasználói módja: %s[%s%s%s]\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is away: %s"
-msgstr "%s%s%s távol: %s\n"
-
-msgid "Users online: "
-msgstr "Online felhasználók: "
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s help mode (+h)"
-msgstr "%s[%s%s%s]%s segítség mód (+h)\n"
-
-#, fuzzy, c-format
-msgid "%s%s %s(%s%s@%s%s)%s was %s"
-msgstr "%s%s %s(%s%s@%s%s)%s neve %s volt\n"
-
-#, fuzzy, c-format
-msgid ""
-"%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
-"at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, bejelentkezett: %s%s"
-
-#, fuzzy
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "óra"
-msgstr[1] "óra"
-
-#, fuzzy
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "perc"
-msgstr[1] "perc"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, bejelentkezett: %s%s"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s Channels: "
-msgstr "%s[%s%s%s]%s tétlen: "
-
-#, fuzzy, c-format
-msgid "%sChannel created on %s"
-msgstr "Szoba létrehozva: %s"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify date/time for \"%s\" command"
-msgstr "%s nem sikerült a dátumot/időt meghatározni a \"%s\" parancshoz\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify channel for \"%s\" command"
-msgstr "%s nem sikerült azonosítani a szobát a \"%s\" parancshoz\n"
-
-#, fuzzy, c-format
-msgid "%sNo topic set for %s%s"
-msgstr "Nincs téma beállítva a %s%s szobában\n"
-
-#, fuzzy, c-format
-msgid "%sTopic for %s%s%s is: \"%s%s\""
-msgstr "A %s%s%s szoba témája: "
-
-#, fuzzy, c-format
-msgid "%sTopic set by %s%s%s, %s"
-msgstr "A témát beállította: %s%s%s, %s"
-
-#, fuzzy, c-format
-msgid "%s%s%s has invited %s%s%s on %s%s"
-msgstr "%s%s%s meghívta %s%s%s-t %s%s-kor\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify nickname for \"%s\" command"
-msgstr "%s nem sikerült a felhasználót meghatározni a \"%s\" parancshoz\n"
-
-#, fuzzy, c-format
-msgid "Channel reop %s%s%s: %s%s"
-msgstr "%s szoba: %s> %s"
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s]%s exception %s%s%s"
-msgstr "%s[%s%s%s] %s%s%s kitiltva\n"
-
-#, c-format
-msgid " by %s%s %s(%s%s%s)"
-msgstr " a következőtől: %s%s %s(%s%s%s)"
+msgid "%s%s: command \"%s\" not found:"
+msgstr "%s a \"%s\" modul nem található\n"
#, c-format
-msgid " by %s%s"
-msgstr " a következőtől: %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
-msgstr "%s %s%s%s/%s%s%s:%s %s%s%s mellőzése a következő(k)től: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
-msgstr "%s nem sikerült a(z) \"%s\" nevet felvenni a \"%s\" szobában\n"
-
-#, fuzzy, c-format
-msgid ""
-"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
msgstr ""
-"%s%s%s szoba: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
-
-msgid "nicks"
-msgstr "név"
-
-msgid "nick"
-msgstr "név"
-
-msgid "ops"
-msgstr "operátor"
-
-msgid "op"
-msgstr "operátor"
-
-msgid "halfops"
-msgstr "féloperátor"
-
-msgid "halfop"
-msgstr "féloperátor"
-
-msgid "voices"
-msgstr "voice"
-
-msgid "voice"
-msgstr "voice"
-
-msgid "normal"
-msgstr "normál"
#, c-format
-msgid "%s[%s%s%s] %s%s%s banned by "
-msgstr "%s[%s%s%s] %s%s%s-t kitiltotta "
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s] %s%s%s banned"
-msgstr "%s[%s%s%s] %s%s%s kitiltva\n"
-
-#, fuzzy, c-format
msgid ""
-"%s%s: all declared nicknames are already in use or invalid, closing "
-"connection with server"
+"%s%s: too few arguments received from IRC server for command \"%s"
+"\" (received: %d arguments, expected: at least %d)"
msgstr ""
-"%s: minden megadott név foglalt vagy érvénytelen, kapcsolat bontása a "
-"szerverrel!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
-msgstr "%s: a(z) \"%s\" név már foglalt, próbálom a második nevet: \"%s\"\n"
#, fuzzy, c-format
-msgid ""
-"%s%s: all declared nicknames are already in use, closing connection with "
-"server"
-msgstr "%s: minden megadott név foglalt, kapcsolat bontása a szerverrel!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
-msgstr "%s: a(z) \"%s\" név már foglalt, próbálom a második nevet: \"%s\"\n"
+msgid "%s%s: \"%s\" command received without host"
+msgstr "%s \"%s\" parancs érkezett hoszt megadása nélkül\n"
#, fuzzy, c-format
msgid "%s%s: error when allocating new server"
@@ -4036,19 +4044,6 @@ msgid "%s%s: not enough memory for received IRC message"
msgstr "%s nincs elegendő memória a fogadott IRC üzenet számára\n"
#, fuzzy, c-format
-msgid "%s%s: command \"%s\" failed"
-msgstr "%s a \"%s\" parancs végrehajtása sikertelen\n"
-
-#, fuzzy, c-format
-msgid "%s%s: no command to execute"
-msgstr "%s A futtatandó parancs nem található!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
-msgstr ""
-"%s Ismeretlen parancs: parancs=\"%s\", gépnév=\"%s\", argumentum=\"%s\"\n"
-
-#, fuzzy, c-format
msgid "%s%s: cannot read data from socket, disconnecting from server..."
msgstr ""
"%s nem sikerült adatot olvasni a csatornából, kilépés a szerverről...\n"
@@ -4435,6 +4430,77 @@ msgstr ""
msgid "%s%s: wrong arguments for function \"%s\""
msgstr "%s rossz argumentum a \"%s\" parancsnak\n"
+#~ msgid "/list end"
+#~ msgstr "/list vége"
+
+#~ msgid "userhost"
+#~ msgstr "felhasználó gépe"
+
+#, fuzzy
+#~ msgid "Notice from %s%s %s(%s%s%s)%s: %s"
+#~ msgstr "%s%s %s(%s%s@%s%s)%s neve %s volt\n"
+
+#, fuzzy
+#~ msgid "Notice from %s%s%s: %s"
+#~ msgstr "Felhasználók a %s%s%s szobában: %s["
+
+#, fuzzy
+#~ msgid "Notice: %s"
+#~ msgstr "voice"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s help mode (+h)"
+#~ msgstr "%s[%s%s%s]%s segítség mód (+h)\n"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s Channels: "
+#~ msgstr "%s[%s%s%s]%s tétlen: "
+
+#, fuzzy
+#~ msgid "%s%s: cannot identify date/time for \"%s\" command"
+#~ msgstr "%s nem sikerült a dátumot/időt meghatározni a \"%s\" parancshoz\n"
+
+#, fuzzy
+#~ msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
+#~ msgstr "%s %s%s%s/%s%s%s:%s %s%s%s mellőzése a következő(k)től: %s%s\n"
+
+#, fuzzy
+#~ msgid "%s%s: command \"%s\" failed"
+#~ msgstr "%s a \"%s\" parancs végrehajtása sikertelen\n"
+
+#, fuzzy
+#~ msgid "%s%s: no command to execute"
+#~ msgstr "%s A futtatandó parancs nem található!\n"
+
+#, fuzzy
+#~ msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
+#~ msgstr ""
+#~ "%s Ismeretlen parancs: parancs=\"%s\", gépnév=\"%s\", argumentum=\"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s%s%s has killed %s%s%s"
+#~ msgstr "%s%s%s eltávolította %s%s%s-t a szerverről"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without channel or nickname"
+#~ msgstr "%s \"%s\" parancs érkezett szoba vagy név megadása nélkül\n"
+
+#, fuzzy
+#~ msgid "%s%s: nickname not found for \"%s\" command"
+#~ msgstr "%s nem található név a \"%s\" parancshoz\n"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without host or channel"
+#~ msgstr "%s \"%s\" parancs érkezett hoszt vagy szoba megadása nélkül\n"
+
+#, fuzzy
+#~ msgid "WALLOPS from %s%s%s: %s"
+#~ msgstr "%s%s%s WALLOP-ot küldött: %s\n"
+
+#, fuzzy
+#~ msgid "%s%s: host not found for \"%s\" command"
+#~ msgstr "a(z) %s gép nem található a(z) \"%s\" parancshoz\n"
+
#~ msgid "jump to raw IRC data buffer"
#~ msgstr "ugrás a nyers IRC adat pufferre"
@@ -4549,10 +4615,6 @@ msgstr "%s rossz argumentum a \"%s\" parancsnak\n"
#~ "[név]] | [unload [név]]"
#, fuzzy
-#~ msgid "%s%s: not enough memory for function \"%s\""
-#~ msgstr "%s nincs elegendő memória új DCC számára\n"
-
-#, fuzzy
#~ msgid "[load filename] | [autoload] | [reload] | [unload [script]]"
#~ msgstr ""
#~ "[list [név]] | [listfull [név]] | [load fájlnév] | [autoload] | [reload "
@@ -4577,9 +4639,6 @@ msgstr "%s rossz argumentum a \"%s\" parancsnak\n"
#~ msgid "%s cannot find nick for sending message\n"
#~ msgstr "%s nem található név az üzenet küldéséhez\n"
-#~ msgid "Nicks %s%s%s: %s["
-#~ msgstr "Felhasználók a %s%s%s szobában: %s["
-
#, fuzzy
#~ msgid "%s%s: error sending data to IRC server"
#~ msgstr "%s adatküldési hiba az IRC szerveren\n"
diff --git a/po/ru.po b/po/ru.po
index 274ae70f5..5a78bb284 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2008-03-07 23:18+0100\n"
+"POT-Creation-Date: 2008-03-15 09:33+0100\n"
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -822,6 +822,18 @@ msgstr ""
msgid "\t\tDay changed to %s"
msgstr "Дата сменилась на %s\n"
+msgid "display WeeChat logo at startup"
+msgstr "отображать логотип WeeChat при запуске"
+
+msgid "display WeeChat version at startup"
+msgstr "отображать версию WeeChat при запуске"
+
+msgid "command executed when WeeChat starts, before loading plugins"
+msgstr ""
+
+msgid "command executed when WeeChat starts, after loading plugins"
+msgstr ""
+
msgid ""
"if set, uses real white color, disabled by default for terms with white "
"background (if you never use white background, you should turn on this "
@@ -841,12 +853,6 @@ msgstr ""
"устанавливать заголовок окна (терминала при интерфейсе Curses) с именем и "
"версией"
-msgid "display WeeChat logo at startup"
-msgstr "отображать логотип WeeChat при запуске"
-
-msgid "display WeeChat version at startup"
-msgstr "отображать версию WeeChat при запуске"
-
msgid "WeeChat slogan (if empty, slogan is not used)"
msgstr "слоган WeeChat (если пусто - используется слоган по умолчанию)"
@@ -3397,6 +3403,299 @@ msgstr "%s вы не подключены к серверу\n"
msgid "%s: this buffer is not a channel!"
msgstr "Это окно не является каналом!\n"
+#, fuzzy, c-format
+msgid "%sYou have been invited to %s%s%s by %s%s"
+msgstr "Вас пригласил на %s%s%s пользователь %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create new channel \"%s\""
+msgstr "%s не могу создать новый канал \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
+msgstr "%s%s %s(%s%s%s)%s зашёл на канал %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: channel \"%s\" not found for \"%s\" command"
+msgstr "%s канал \"%s\" не найден для команды \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
+msgstr "%s%s%s выкинул %s%s%s с канала %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s"
+msgstr "%s%s%s выкинул %s%s%s с канала %s%s"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s %s(%s%s%s)"
+msgstr "%s%s%s убил %s%s%s"
+
+#, fuzzy, c-format
+msgid "%sYou were killed by %s%s"
+msgstr "Теперь вы известны как %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
+msgstr "Режим %s%s %s[%s%s%s]%s установлен пользователем %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode %s[%s%s%s]%s by %s%s"
+msgstr "Режим %s[%s%s%s]%s пользователем %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sYou are now known as %s%s"
+msgstr "Теперь вы известны как %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is now known as %s%s"
+msgstr "%s%s%s теперь известен как %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
+msgstr "Ответ на CTCP %sVERSION%s от %s%s%s: %s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
+msgstr "Ответ на %sPING%s от %s%s%s: %ld.%ld секунд\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s покинул %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
+msgstr "%s%s %s(%s%s%s)%s покинул %s%s"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
+msgstr "Получен CTCP %sVERSION%s от %s%s"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s"
+msgstr "Получен CTCP %sVERSION%s от %s%s"
+
+#, c-format
+msgid "Channel %s: * %s %s"
+msgstr "Канал %s: * %s %s"
+
+#, fuzzy, c-format
+msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
+msgstr "Получен CTCP %sSOUND%s \"%s\" от %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sCTCP %sPING%s received from %s%s"
+msgstr "Получен CTCP %sPING%s от %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
+msgstr "Получен неизвестный CTCP %s%s%s от %s%s"
+
+#, fuzzy, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s"
+msgstr "Получен неизвестный CTCP %s%s%s от %s%s"
+
+#, c-format
+msgid "Channel %s: %s> %s"
+msgstr "Канал %s: %s> %s"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot parse \"%s\" command"
+msgstr "%s не могу проанализировать команду \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s: not enough memory for \"%s\" command"
+msgstr "%s недостаточно памяти для нового DCC\n"
+
+#, fuzzy, c-format
+msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
+msgstr "%s неизвестный режим DCC CHAT получен от "
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
+msgstr "%s%s %s(%s%s%s)%s вышел"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit"
+msgstr "%s%s %s(%s%s%s)%s вышел"
+
+#, fuzzy, c-format
+msgid "%s%s: \"%s\" command received without channel"
+msgstr "%s \"%s\" команда получена без канала\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
+msgstr "%s%s%s сменил тему %s%s%s на:"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has unset topic for %s%s"
+msgstr "%s%s%s удалил тему канала для %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sWallops from %s%s %s(%s%s%s)%s: %s"
+msgstr "%s%s %s(%s%s@%s%s)%s был %s\n"
+
+#, fuzzy, c-format
+msgid "%sUser mode for %s%s%s is %s[%s%s%s]"
+msgstr "Режим пользователя %s%s%s - %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s is away: %s"
+msgstr "%s%s%s отсутствует: %s\n"
+
+#, fuzzy, c-format
+msgid "%sUsers online: %s%s"
+msgstr "Пользователей в сети:"
+
+#, fuzzy, c-format
+msgid "%s%s%s %s(%s%s@%s%s)%s was %s"
+msgstr "%s%s %s(%s%s@%s%s)%s был %s\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
+"at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, вошёл в сеть: %s%s"
+
+#, fuzzy
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "час"
+msgstr[1] "час"
+
+#, fuzzy
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "минута"
+msgstr[1] "минута"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
+msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, вошёл в сеть: %s%s"
+
+#, fuzzy, c-format
+msgid "%sChannel created on %s"
+msgstr "Канал создан %s"
+
+#, fuzzy, c-format
+msgid "%sChannel %s%s%s created on %s"
+msgstr "Канал создан %s"
+
+#, fuzzy, c-format
+msgid "%sNo topic set for channel %s%s"
+msgstr "Не установлена тема канала для %s%s\n"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s is: \"%s%s\""
+msgstr "Тема канала %s%s%s: "
+
+#, fuzzy, c-format
+msgid "%sTopic set by %s%s%s on %s"
+msgstr "Тема установлена пользователем %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%sTopic for %s%s%s set by %s%s%s on %s"
+msgstr "Тема установлена пользователем %s%s%s, %s"
+
+#, fuzzy, c-format
+msgid "%s%s%s%s has invited %s%s%s on %s%s"
+msgstr "%s%s%s пригласил %s%s%s на канал %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify channel for \"%s\" command"
+msgstr "%s не могу опознать канал для команды \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot identify nickname for \"%s\" command"
+msgstr "%s не могу опознать ник для команды \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%sChannel reop %s%s%s: %s%s"
+msgstr "Реоп канала %s%s%s: %s%s\n"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s]%s exception %s%s%s"
+msgstr "%s[%s%s%s] %s%s%s забанен\n"
+
+#, c-format
+msgid " by %s%s %s(%s%s%s)"
+msgstr " пользователем %s%s %s(%s%s%s)"
+
+#, c-format
+msgid " by %s%s"
+msgstr " пользователем %s%s"
+
+#, fuzzy, c-format
+msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
+msgstr "%s не могу создать ник \"%s\" для канала \"%s\"\n"
+
+#, fuzzy, c-format
+msgid "%sNicks %s%s%s: %s[%s%s%s]"
+msgstr "%sСервер: %s%s %s[%s%s%s]\n"
+
+#, fuzzy, c-format
+msgid ""
+"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgstr ""
+"Канал %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
+
+msgid "nicks"
+msgstr "ники"
+
+msgid "nick"
+msgstr "ник"
+
+msgid "ops"
+msgstr "опы"
+
+msgid "op"
+msgstr "оп"
+
+msgid "halfops"
+msgstr "полуопы"
+
+msgid "halfop"
+msgstr "полуоп"
+
+msgid "voices"
+msgstr "войсы"
+
+msgid "voice"
+msgstr "войс"
+
+msgid "normal"
+msgstr "обычные"
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned by "
+msgstr "%s[%s%s%s] %s%s%s забанен пользователем "
+
+#, fuzzy, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned"
+msgstr "%s[%s%s%s] %s%s%s забанен\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use or invalid, closing "
+"connection with server"
+msgstr ""
+"%s: все предложенные ники заняты или непригодны, отключаюсь от сервера!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
+msgstr "%s: ник \"%s\" уже используется, пробую второй ник \"%s\"\n"
+
+#, fuzzy, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use, closing connection with "
+"server"
+msgstr "%s: все предложенные ники заняты, отключаюсь от сервера!\n"
+
+#, fuzzy, c-format
+msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
+msgstr "%s: ник \"%s\" уже используется, пробую второй ник \"%s\"\n"
+
msgid "error received from IRC server"
msgstr "получена ошибка от IRC сервера"
@@ -3415,9 +3714,6 @@ msgstr "строка режима пользователя"
msgid "away message"
msgstr "сообщение об отсутствии"
-msgid "userhost"
-msgstr "хост"
-
msgid "ison"
msgstr "есть"
@@ -3466,8 +3762,9 @@ msgstr "начало /list"
msgid "channel (for /list)"
msgstr "канал (для /list)"
-msgid "/list end"
-msgstr "конец /list"
+#, fuzzy
+msgid "end of /list"
+msgstr "конец списка /who"
msgid "channel mode"
msgstr "режим канала"
@@ -3689,311 +3986,22 @@ msgid "whois (secure connection)"
msgstr "whois (защищённое соединение)"
#, fuzzy, c-format
-msgid "You have been invited to %s%s%s by %s%s"
-msgstr "Вас пригласил на %s%s%s пользователь %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: channel \"%s\" not found for \"%s\" command"
-msgstr "%s канал \"%s\" не найден для команды \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host"
-msgstr "%s \"%s\" команда получена без хоста\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create new channel \"%s\""
-msgstr "%s не могу создать новый канал \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
-msgstr "%s%s %s(%s%s%s)%s зашёл на канал %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
-msgstr "%s%s%s выкинул %s%s%s с канала %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s"
-msgstr "%s%s%s выкинул %s%s%s с канала %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server %s(%s%s%s)"
-msgstr "%s%s%s убил %s%s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has killed %s%s%s from server"
-msgstr "%s%s%s убил %s%s%s"
-
-#, fuzzy, c-format
-msgid "%s%s: host not found for \"%s\" command"
-msgstr "%s хост не найден для команды \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel or nickname"
-msgstr "%s \"%s\" команда получена без канала или ника\n"
-
-#, fuzzy, c-format
-msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
-msgstr "Режим %s%s %s[%s%s%s]%s установлен пользователем %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sUser mode %s[%s%s%s]%s by %s%s"
-msgstr "Режим %s[%s%s%s]%s пользователем %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sYou are now known as %s%s"
-msgstr "Теперь вы известны как %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is now known as %s%s"
-msgstr "%s%s%s теперь известен как %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname not found for \"%s\" command"
-msgstr "%s ник не найден для команды \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s reply from %s%s%s: %s"
-msgstr "Ответ на CTCP %sVERSION%s от %s%s%s: %s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
-msgstr "Ответ на %sPING%s от %s%s%s: %ld.%ld секунд\n"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without host or channel"
-msgstr "%s \"%s\" команда получена без хоста или канала\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s покинул %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
-msgstr "%s%s %s(%s%s%s)%s покинул %s%s"
-
-#, fuzzy, c-format
-msgid "CTCP %sVERSION%s received from %s%s%s: %s"
-msgstr "Получен CTCP %sVERSION%s от %s%s"
-
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s"
-msgstr "Получен CTCP %sVERSION%s от %s%s"
-
-#, c-format
-msgid "Channel %s: * %s %s"
-msgstr "Канал %s: * %s %s"
-
-#, fuzzy, c-format
-msgid "Received a CTCP %sSOUND%s \"%s\" from %s%s"
-msgstr "Получен CTCP %sSOUND%s \"%s\" от %s%s\n"
-
-#, fuzzy, c-format
-msgid "CTCP %sPING%s received from %s%s"
-msgstr "Получен CTCP %sPING%s от %s%s\n"
-
-#, fuzzy, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s%s: %s"
-msgstr "Получен неизвестный CTCP %s%s%s от %s%s"
-
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s"
-msgstr "Получен неизвестный CTCP %s%s%s от %s%s"
-
-#, c-format
-msgid "Channel %s: %s> %s"
-msgstr "Канал %s: %s> %s"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot parse \"%s\" command"
-msgstr "%s не могу проанализировать команду \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
-msgstr "%s неизвестный режим DCC CHAT получен от "
-
-#, fuzzy, c-format
-msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
-msgstr "%s%s %s(%s%s%s)%s вышел"
-
-#, fuzzy, c-format
-msgid "%s%s: \"%s\" command received without channel"
-msgstr "%s \"%s\" команда получена без канала\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
-msgstr "%s%s%s сменил тему %s%s%s на:"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s has unset topic for %s%s"
-msgstr "%s%s%s удалил тему канала для %s%s\n"
-
-#, fuzzy, c-format
-msgid "WALLOPS from %s%s%s: %s"
-msgstr "WALLOPы от %s%s%s: %s\n"
-
-#, fuzzy, c-format
-msgid "User mode for %s%s%s is %s[%s%s%s]"
-msgstr "Режим пользователя %s%s%s - %s[%s%s%s]\n"
-
-#, fuzzy, c-format
-msgid "%s%s%s%s is away: %s"
-msgstr "%s%s%s отсутствует: %s\n"
-
-msgid "Users online: "
-msgstr "Пользователей в сети:"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s help mode (+h)"
-msgstr "%s[%s%s%s]%s режим помощи (+h)\n"
-
-#, fuzzy, c-format
-msgid "%s%s %s(%s%s@%s%s)%s was %s"
-msgstr "%s%s %s(%s%s@%s%s)%s был %s\n"
-
-#, fuzzy, c-format
-msgid ""
-"%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
-"at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, вошёл в сеть: %s%s"
-
-#, fuzzy
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "час"
-msgstr[1] "час"
-
-#, fuzzy
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "минута"
-msgstr[1] "минута"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
-msgstr "%s%02d %s%s %s%02d %s%s %s%02d %s%s, вошёл в сеть: %s%s"
-
-#, fuzzy, c-format
-msgid "%s[%s%s%s]%s Channels: "
-msgstr "%s[%s%s%s]%s бездействует: "
-
-#, fuzzy, c-format
-msgid "%sChannel created on %s"
-msgstr "Канал создан %s"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify date/time for \"%s\" command"
-msgstr "%s не могу опознать дату/время для команды \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify channel for \"%s\" command"
-msgstr "%s не могу опознать канал для команды \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "%sNo topic set for %s%s"
-msgstr "Не установлена тема канала для %s%s\n"
-
-#, fuzzy, c-format
-msgid "%sTopic for %s%s%s is: \"%s%s\""
-msgstr "Тема канала %s%s%s: "
-
-#, fuzzy, c-format
-msgid "%sTopic set by %s%s%s, %s"
-msgstr "Тема установлена пользователем %s%s%s, %s"
-
-#, fuzzy, c-format
-msgid "%s%s%s has invited %s%s%s on %s%s"
-msgstr "%s%s%s пригласил %s%s%s на канал %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot identify nickname for \"%s\" command"
-msgstr "%s не могу опознать ник для команды \"%s\"\n"
-
-#, fuzzy, c-format
-msgid "Channel reop %s%s%s: %s%s"
-msgstr "Реоп канала %s%s%s: %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s]%s exception %s%s%s"
-msgstr "%s[%s%s%s] %s%s%s забанен\n"
-
-#, c-format
-msgid " by %s%s %s(%s%s%s)"
-msgstr " пользователем %s%s %s(%s%s%s)"
+msgid "%s%s: command \"%s\" not found:"
+msgstr "%s plugin \"%s\" не найден\n"
#, c-format
-msgid " by %s%s"
-msgstr " пользователем %s%s"
-
-#, fuzzy, c-format
-msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
-msgstr "%sна %s%s%s/%s%s%s:%s игнорирует %s%s%s с %s%s\n"
-
-#, fuzzy, c-format
-msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
-msgstr "%s не могу создать ник \"%s\" для канала \"%s\"\n"
-
-#, fuzzy, c-format
-msgid ""
-"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
msgstr ""
-"Канал %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)\n"
-
-msgid "nicks"
-msgstr "ники"
-
-msgid "nick"
-msgstr "ник"
-
-msgid "ops"
-msgstr "опы"
-
-msgid "op"
-msgstr "оп"
-
-msgid "halfops"
-msgstr "полуопы"
-
-msgid "halfop"
-msgstr "полуоп"
-
-msgid "voices"
-msgstr "войсы"
-
-msgid "voice"
-msgstr "войс"
-
-msgid "normal"
-msgstr "обычные"
#, c-format
-msgid "%s[%s%s%s] %s%s%s banned by "
-msgstr "%s[%s%s%s] %s%s%s забанен пользователем "
-
-#, fuzzy, c-format
-msgid "%s%s[%s%s%s] %s%s%s banned"
-msgstr "%s[%s%s%s] %s%s%s забанен\n"
-
-#, fuzzy, c-format
msgid ""
-"%s%s: all declared nicknames are already in use or invalid, closing "
-"connection with server"
+"%s%s: too few arguments received from IRC server for command \"%s"
+"\" (received: %d arguments, expected: at least %d)"
msgstr ""
-"%s: все предложенные ники заняты или непригодны, отключаюсь от сервера!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
-msgstr "%s: ник \"%s\" уже используется, пробую второй ник \"%s\"\n"
#, fuzzy, c-format
-msgid ""
-"%s%s: all declared nicknames are already in use, closing connection with "
-"server"
-msgstr "%s: все предложенные ники заняты, отключаюсь от сервера!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
-msgstr "%s: ник \"%s\" уже используется, пробую второй ник \"%s\"\n"
+msgid "%s%s: \"%s\" command received without host"
+msgstr "%s \"%s\" команда получена без хоста\n"
#, fuzzy, c-format
msgid "%s%s: error when allocating new server"
@@ -4023,19 +4031,6 @@ msgid "%s%s: not enough memory for received IRC message"
msgstr "%s недостаточно памяти для полученного сообщения\n"
#, fuzzy, c-format
-msgid "%s%s: command \"%s\" failed"
-msgstr "%s команда \"%s\" не удалась\n"
-
-#, fuzzy, c-format
-msgid "%s%s: no command to execute"
-msgstr "%s Нет команд для запуска!\n"
-
-#, fuzzy, c-format
-msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
-msgstr ""
-"%s Неизвестная команда: команда=\"%s\", хост=\"%s\", аргументы=\"%s\"\n"
-
-#, fuzzy, c-format
msgid "%s%s: cannot read data from socket, disconnecting from server..."
msgstr "%s невозможно прочитать данные из сокета, отключаюсь от сервера...\n"
@@ -4417,6 +4412,77 @@ msgstr ""
msgid "%s%s: wrong arguments for function \"%s\""
msgstr "%s некорректные аргументы команды \"%s\"\n"
+#~ msgid "/list end"
+#~ msgstr "конец /list"
+
+#~ msgid "userhost"
+#~ msgstr "хост"
+
+#, fuzzy
+#~ msgid "Notice from %s%s %s(%s%s%s)%s: %s"
+#~ msgstr "%s%s %s(%s%s@%s%s)%s был %s\n"
+
+#, fuzzy
+#~ msgid "Notice from %s%s%s: %s"
+#~ msgstr "Ники %s%s%s: %s["
+
+#, fuzzy
+#~ msgid "Notice: %s"
+#~ msgstr "войсы"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s help mode (+h)"
+#~ msgstr "%s[%s%s%s]%s режим помощи (+h)\n"
+
+#, fuzzy
+#~ msgid "%s[%s%s%s]%s Channels: "
+#~ msgstr "%s[%s%s%s]%s бездействует: "
+
+#, fuzzy
+#~ msgid "%s%s: cannot identify date/time for \"%s\" command"
+#~ msgstr "%s не могу опознать дату/время для команды \"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
+#~ msgstr "%sна %s%s%s/%s%s%s:%s игнорирует %s%s%s с %s%s\n"
+
+#, fuzzy
+#~ msgid "%s%s: command \"%s\" failed"
+#~ msgstr "%s команда \"%s\" не удалась\n"
+
+#, fuzzy
+#~ msgid "%s%s: no command to execute"
+#~ msgstr "%s Нет команд для запуска!\n"
+
+#, fuzzy
+#~ msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
+#~ msgstr ""
+#~ "%s Неизвестная команда: команда=\"%s\", хост=\"%s\", аргументы=\"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s%s%s has killed %s%s%s"
+#~ msgstr "%s%s%s убил %s%s%s"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without channel or nickname"
+#~ msgstr "%s \"%s\" команда получена без канала или ника\n"
+
+#, fuzzy
+#~ msgid "%s%s: nickname not found for \"%s\" command"
+#~ msgstr "%s ник не найден для команды \"%s\"\n"
+
+#, fuzzy
+#~ msgid "%s%s: \"%s\" command received without host or channel"
+#~ msgstr "%s \"%s\" команда получена без хоста или канала\n"
+
+#, fuzzy
+#~ msgid "WALLOPS from %s%s%s: %s"
+#~ msgstr "WALLOPы от %s%s%s: %s\n"
+
+#, fuzzy
+#~ msgid "%s%s: host not found for \"%s\" command"
+#~ msgstr "%s хост не найден для команды \"%s\"\n"
+
#~ msgid "jump to raw IRC data buffer"
#~ msgstr "перейти к буферу сырых данных IRC"
@@ -4528,10 +4594,6 @@ msgstr "%s некорректные аргументы команды \"%s\"\n"
#~ "[имя]] | [unload [имя]]"
#, fuzzy
-#~ msgid "%s%s: not enough memory for function \"%s\""
-#~ msgstr "%s недостаточно памяти для нового DCC\n"
-
-#, fuzzy
#~ msgid "[load filename] | [autoload] | [reload] | [unload [script]]"
#~ msgstr ""
#~ "[list [имя]] | [listfull [имя]] | [load имя_файла] | [autoload] | [reload "
@@ -4556,9 +4618,6 @@ msgstr "%s некорректные аргументы команды \"%s\"\n"
#~ msgid "%s cannot find nick for sending message\n"
#~ msgstr "%s не могу найти адресата сообщения\n"
-#~ msgid "Nicks %s%s%s: %s["
-#~ msgstr "Ники %s%s%s: %s["
-
#, fuzzy
#~ msgid "%s%s: error sending data to IRC server"
#~ msgstr "%s ошибка при отправке данных IRC серверу\n"
diff --git a/po/weechat.pot b/po/weechat.pot
index 8a438dc75..527e36594 100644
--- a/po/weechat.pot
+++ b/po/weechat.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2008-03-07 23:18+0100\n"
+"POT-Creation-Date: 2008-03-15 09:33+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"
@@ -666,6 +666,18 @@ msgstr ""
msgid "\t\tDay changed to %s"
msgstr ""
+msgid "display WeeChat logo at startup"
+msgstr ""
+
+msgid "display WeeChat version at startup"
+msgstr ""
+
+msgid "command executed when WeeChat starts, before loading plugins"
+msgstr ""
+
+msgid "command executed when WeeChat starts, after loading plugins"
+msgstr ""
+
msgid ""
"if set, uses real white color, disabled by default for terms with white "
"background (if you never use white background, you should turn on this "
@@ -678,12 +690,6 @@ msgstr ""
msgid "set title for window (terminal for Curses GUI) with name and version"
msgstr ""
-msgid "display WeeChat logo at startup"
-msgstr ""
-
-msgid "display WeeChat version at startup"
-msgstr ""
-
msgid "WeeChat slogan (if empty, slogan is not used)"
msgstr ""
@@ -2865,598 +2871,599 @@ msgstr ""
msgid "%s: this buffer is not a channel!"
msgstr ""
-msgid "error received from IRC server"
+#, c-format
+msgid "%sYou have been invited to %s%s%s by %s%s"
msgstr ""
-msgid "message received"
+#, c-format
+msgid "%s%s: cannot create new channel \"%s\""
msgstr ""
-msgid "close all connections and quit"
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
msgstr ""
-msgid "a server message"
+#, c-format
+msgid "%s%s: channel \"%s\" not found for \"%s\" command"
msgstr ""
-msgid "user mode string"
+#, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
msgstr ""
-msgid "away message"
+#, c-format
+msgid "%s%s%s%s has kicked %s%s%s from %s%s"
msgstr ""
-msgid "userhost"
+#, c-format
+msgid "%sYou were killed by %s%s %s(%s%s%s)"
msgstr ""
-msgid "ison"
+#, c-format
+msgid "%sYou were killed by %s%s"
msgstr ""
-msgid "unaway"
+#, c-format
+msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
msgstr ""
-msgid "now away"
+#, c-format
+msgid "%sUser mode %s[%s%s%s]%s by %s%s"
msgstr ""
-msgid "whois (registered nick)"
+#, c-format
+msgid "%sYou are now known as %s%s"
msgstr ""
-msgid "whois (help mode)"
+#, c-format
+msgid "%s%s%s%s is now known as %s%s"
msgstr ""
-msgid "whois (user)"
+#, c-format
+msgid "%sCTCP %sVERSION%s reply from %s%s%s: %s"
msgstr ""
-msgid "whois (server)"
+#, c-format
+msgid "%sCTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
msgstr ""
-msgid "whois (operator)"
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
msgstr ""
-msgid "whowas"
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
msgstr ""
-msgid "end of /who list"
+#, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s%s: %s"
msgstr ""
-msgid "whois (idle)"
+#, c-format
+msgid "%sCTCP %sVERSION%s received from %s%s"
msgstr ""
-msgid "whois (end)"
+#, c-format
+msgid "Channel %s: * %s %s"
msgstr ""
-msgid "whois (channels)"
+#, c-format
+msgid "%sReceived a CTCP %sSOUND%s \"%s\" from %s%s"
msgstr ""
-msgid "whois (identified user)"
+#, c-format
+msgid "%sCTCP %sPING%s received from %s%s"
msgstr ""
-msgid "/list start"
+#, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s%s: %s"
msgstr ""
-msgid "channel (for /list)"
+#, c-format
+msgid "%sUnknown CTCP %s%s%s received from %s%s"
msgstr ""
-msgid "/list end"
+#, c-format
+msgid "Channel %s: %s> %s"
msgstr ""
-msgid "channel mode"
+#, c-format
+msgid "%s%s: cannot parse \"%s\" command"
msgstr ""
-msgid "whois (has oper privs)"
+#, c-format
+msgid "%s%s: not enough memory for \"%s\" command"
msgstr ""
-msgid "whois (host)"
+#, c-format
+msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
msgstr ""
-msgid "channel creation date"
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
msgstr ""
-msgid "no topic for channel"
+#, c-format
+msgid "%s%s%s %s(%s%s%s)%s has quit"
msgstr ""
-msgid "topic of channel"
+#, c-format
+msgid "%s%s: \"%s\" command received without channel"
msgstr ""
-msgid "infos about topic (nick and date changed)"
+#, c-format
+msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
msgstr ""
-msgid "inviting"
+#, c-format
+msgid "%s%s%s%s has unset topic for %s%s"
msgstr ""
-msgid "channel reop"
+#, c-format
+msgid "%sWallops from %s%s %s(%s%s%s)%s: %s"
msgstr ""
-msgid "end of channel reop list"
+#, c-format
+msgid "%sUser mode for %s%s%s is %s[%s%s%s]"
msgstr ""
-msgid "channel exception list"
+#, c-format
+msgid "%s%s%s%s is away: %s"
msgstr ""
-msgid "end of channel exception list"
+#, c-format
+msgid "%sUsers online: %s%s"
msgstr ""
-msgid "server version"
+#, c-format
+msgid "%s%s%s %s(%s%s@%s%s)%s was %s"
msgstr ""
-msgid "who"
+#, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
+"at: %s%s"
msgstr ""
-msgid "list of nicks on channel"
-msgstr ""
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] ""
+msgstr[1] ""
-msgid "end of /names list"
-msgstr ""
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] ""
+msgstr[1] ""
-msgid "banlist"
+#, c-format
+msgid ""
+"%s%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
msgstr ""
-msgid "end of banlist"
+#, c-format
+msgid "%sChannel created on %s"
msgstr ""
-msgid "whois (connecting from)"
+#, c-format
+msgid "%sChannel %s%s%s created on %s"
msgstr ""
-msgid "whois (using modes)"
+#, c-format
+msgid "%sNo topic set for channel %s%s"
msgstr ""
-msgid "no such nick/channel"
+#, c-format
+msgid "%sTopic for %s%s%s is: \"%s%s\""
msgstr ""
-msgid "no such server"
+#, c-format
+msgid "%sTopic set by %s%s%s on %s"
msgstr ""
-msgid "no such channel"
+#, c-format
+msgid "%sTopic for %s%s%s set by %s%s%s on %s"
msgstr ""
-msgid "cannot send to channel"
+#, c-format
+msgid "%s%s%s%s has invited %s%s%s on %s%s"
msgstr ""
-msgid "too many channels"
+#, c-format
+msgid "%s%s: cannot identify channel for \"%s\" command"
msgstr ""
-msgid "was no such nick"
+#, c-format
+msgid "%s%s: cannot identify nickname for \"%s\" command"
msgstr ""
-msgid "no origin"
+#, c-format
+msgid "%sChannel reop %s%s%s: %s%s"
msgstr ""
-msgid "no services"
+#, c-format
+msgid "%s%s[%s%s%s]%s exception %s%s%s"
msgstr ""
-msgid "no recipient"
+#, c-format
+msgid " by %s%s %s(%s%s%s)"
msgstr ""
-msgid "no text to send"
+#, c-format
+msgid " by %s%s"
msgstr ""
-msgid "no toplevel"
+#, c-format
+msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
msgstr ""
-msgid "wilcard in toplevel domain"
+#, c-format
+msgid "%sNicks %s%s%s: %s[%s%s%s]"
msgstr ""
-msgid "unknown command"
+#, c-format
+msgid ""
+"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
msgstr ""
-msgid "MOTD is missing"
+msgid "nicks"
msgstr ""
-msgid "no administrative info"
+msgid "nick"
msgstr ""
-msgid "file error"
+msgid "ops"
msgstr ""
-msgid "no nickname given"
+msgid "op"
msgstr ""
-msgid "erroneous nickname"
+msgid "halfops"
msgstr ""
-msgid "nickname already in use"
+msgid "halfop"
msgstr ""
-msgid "nickname collision"
+msgid "voices"
msgstr ""
-msgid "resource unavailable"
+msgid "voice"
msgstr ""
-msgid "not authorized to change nickname"
+msgid "normal"
msgstr ""
-msgid "user not in channel"
+#, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned by "
msgstr ""
-msgid "not on channel"
+#, c-format
+msgid "%s%s[%s%s%s] %s%s%s banned"
msgstr ""
-msgid "user already on channel"
+#, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use or invalid, closing "
+"connection with server"
msgstr ""
-msgid "user not logged in"
+#, c-format
+msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
msgstr ""
-msgid "summon has been disabled"
+#, c-format
+msgid ""
+"%s%s: all declared nicknames are already in use, closing connection with "
+"server"
msgstr ""
-msgid "users has been disabled"
+#, c-format
+msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
msgstr ""
-msgid "you are not registered"
+msgid "error received from IRC server"
msgstr ""
-msgid "not enough parameters"
+msgid "message received"
msgstr ""
-msgid "you may not register"
+msgid "close all connections and quit"
msgstr ""
-msgid "your host isn't among the privileged"
+msgid "a server message"
msgstr ""
-msgid "password incorrect"
+msgid "user mode string"
msgstr ""
-msgid "you are banned from this server"
+msgid "away message"
msgstr ""
-msgid "channel key already set"
+msgid "ison"
msgstr ""
-msgid "forwarding to another channel"
+msgid "unaway"
msgstr ""
-msgid "channel is already full"
+msgid "now away"
msgstr ""
-msgid "unknown mode char to me"
+msgid "whois (registered nick)"
msgstr ""
-msgid "cannot join channel (invite only)"
+msgid "whois (help mode)"
msgstr ""
-msgid "cannot join channel (banned from channel)"
+msgid "whois (user)"
msgstr ""
-msgid "cannot join channel (bad channel key)"
+msgid "whois (server)"
msgstr ""
-msgid "bad channel mask"
+msgid "whois (operator)"
msgstr ""
-msgid "channel doesn't support modes"
+msgid "whowas"
msgstr ""
-msgid "you're not an IRC operator"
+msgid "end of /who list"
msgstr ""
-msgid "you're not channel operator"
+msgid "whois (idle)"
msgstr ""
-msgid "you can't kill a server!"
+msgid "whois (end)"
msgstr ""
-msgid "your connection is restricted!"
+msgid "whois (channels)"
msgstr ""
-msgid "user is immune from kick/deop"
+msgid "whois (identified user)"
msgstr ""
-msgid "network split"
+msgid "/list start"
msgstr ""
-msgid "no O-lines for your host"
+msgid "channel (for /list)"
msgstr ""
-msgid "unknown mode flag"
+msgid "end of /list"
msgstr ""
-msgid "can't change mode for other users"
+msgid "channel mode"
msgstr ""
-msgid "whois (secure connection)"
+msgid "whois (has oper privs)"
msgstr ""
-#, c-format
-msgid "You have been invited to %s%s%s by %s%s"
+msgid "whois (host)"
msgstr ""
-#, c-format
-msgid "%s%s: channel \"%s\" not found for \"%s\" command"
+msgid "channel creation date"
msgstr ""
-#, c-format
-msgid "%s%s: \"%s\" command received without host"
+msgid "no topic for channel"
msgstr ""
-#, c-format
-msgid "%s%s: cannot create new channel \"%s\""
+msgid "topic of channel"
msgstr ""
-#, c-format
-msgid "%s%s%s %s(%s%s%s)%s has joined %s%s"
+msgid "infos about topic (nick and date changed)"
msgstr ""
-#, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"
+msgid "inviting"
msgstr ""
-#, c-format
-msgid "%s%s%s%s has kicked %s%s%s from %s%s"
+msgid "channel reop"
msgstr ""
-#, c-format
-msgid "%s%s%s%s has killed %s%s%s from server %s(%s%s%s)"
+msgid "end of channel reop list"
msgstr ""
-#, c-format
-msgid "%s%s%s%s has killed %s%s%s from server"
+msgid "channel exception list"
msgstr ""
-#, c-format
-msgid "%s%s: host not found for \"%s\" command"
+msgid "end of channel exception list"
msgstr ""
-#, c-format
-msgid "%s%s: \"%s\" command received without channel or nickname"
+msgid "server version"
msgstr ""
-#, c-format
-msgid "%sMode %s%s %s[%s%s%s]%s by %s%s"
+msgid "who"
msgstr ""
-#, c-format
-msgid "%sUser mode %s[%s%s%s]%s by %s%s"
+msgid "list of nicks on channel"
msgstr ""
-#, c-format
-msgid "%sYou are now known as %s%s"
+msgid "end of /names list"
msgstr ""
-#, c-format
-msgid "%s%s%s%s is now known as %s%s"
+msgid "banlist"
msgstr ""
-#, c-format
-msgid "%s%s: nickname not found for \"%s\" command"
+msgid "end of banlist"
msgstr ""
-#, c-format
-msgid "CTCP %sVERSION%s reply from %s%s%s: %s"
+msgid "whois (connecting from)"
msgstr ""
-#, c-format
-msgid "CTCP %sPING%s reply from %s%s%s: %ld.%ld %s"
+msgid "whois (using modes)"
msgstr ""
-#, c-format
-msgid "%s%s: \"%s\" command received without host or channel"
+msgid "no such nick/channel"
msgstr ""
-#, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"
+msgid "no such server"
msgstr ""
-#, c-format
-msgid "%s%s%s %s(%s%s%s)%s has left %s%s"
+msgid "no such channel"
msgstr ""
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s%s: %s"
+msgid "cannot send to channel"
msgstr ""
-#, c-format
-msgid "CTCP %sVERSION%s received from %s%s"
+msgid "too many channels"
msgstr ""
-#, c-format
-msgid "Channel %s: * %s %s"
+msgid "was no such nick"
msgstr ""
-#, c-format
-msgid "Received a CTCP %sSOUND%s \"%s\" from %s%s"
+msgid "no origin"
msgstr ""
-#, c-format
-msgid "CTCP %sPING%s received from %s%s"
+msgid "no services"
msgstr ""
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s%s: %s"
+msgid "no recipient"
msgstr ""
-#, c-format
-msgid "Unknown CTCP %s%s%s received from %s%s"
+msgid "no text to send"
msgstr ""
-#, c-format
-msgid "Channel %s: %s> %s"
+msgid "no toplevel"
msgstr ""
-#, c-format
-msgid "%s%s: cannot parse \"%s\" command"
+msgid "wilcard in toplevel domain"
msgstr ""
-#, c-format
-msgid "%s%s: unknown DCC CHAT type received from %s%s%s: \"%s\""
+msgid "unknown command"
msgstr ""
-#, c-format
-msgid "%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"
+msgid "MOTD is missing"
msgstr ""
-#, c-format
-msgid "%s%s: \"%s\" command received without channel"
+msgid "no administrative info"
msgstr ""
-#, c-format
-msgid "%s%s%s%s has changed topic for %s%s%s to: \"%s%s\""
+msgid "file error"
msgstr ""
-#, c-format
-msgid "%s%s%s%s has unset topic for %s%s"
+msgid "no nickname given"
msgstr ""
-#, c-format
-msgid "WALLOPS from %s%s%s: %s"
+msgid "erroneous nickname"
msgstr ""
-#, c-format
-msgid "User mode for %s%s%s is %s[%s%s%s]"
+msgid "nickname already in use"
msgstr ""
-#, c-format
-msgid "%s%s%s%s is away: %s"
+msgid "nickname collision"
msgstr ""
-msgid "Users online: "
+msgid "resource unavailable"
msgstr ""
-#, c-format
-msgid "%s[%s%s%s]%s help mode (+h)"
+msgid "not authorized to change nickname"
msgstr ""
-#, c-format
-msgid "%s%s %s(%s%s@%s%s)%s was %s"
+msgid "user not in channel"
msgstr ""
-#, c-format
-msgid ""
-"%s[%s%s%s]%s idle: %s%d %s%s, %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon "
-"at: %s%s"
+msgid "not on channel"
msgstr ""
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] ""
-msgstr[1] ""
-
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] ""
-msgstr[1] ""
+msgid "user already on channel"
+msgstr ""
-#, c-format
-msgid "%s[%s%s%s]%s idle: %s%02d %s%s %s%02d %s%s %s%02d %s%s, signon at: %s%s"
+msgid "user not logged in"
msgstr ""
-#, c-format
-msgid "%s[%s%s%s]%s Channels: "
+msgid "summon has been disabled"
msgstr ""
-#, c-format
-msgid "%sChannel created on %s"
+msgid "users has been disabled"
msgstr ""
-#, c-format
-msgid "%s%s: cannot identify date/time for \"%s\" command"
+msgid "you are not registered"
msgstr ""
-#, c-format
-msgid "%s%s: cannot identify channel for \"%s\" command"
+msgid "not enough parameters"
msgstr ""
-#, c-format
-msgid "%sNo topic set for %s%s"
+msgid "you may not register"
msgstr ""
-#, c-format
-msgid "%sTopic for %s%s%s is: \"%s%s\""
+msgid "your host isn't among the privileged"
msgstr ""
-#, c-format
-msgid "%sTopic set by %s%s%s, %s"
+msgid "password incorrect"
msgstr ""
-#, c-format
-msgid "%s%s%s has invited %s%s%s on %s%s"
+msgid "you are banned from this server"
msgstr ""
-#, c-format
-msgid "%s%s: cannot identify nickname for \"%s\" command"
+msgid "channel key already set"
msgstr ""
-#, c-format
-msgid "Channel reop %s%s%s: %s%s"
+msgid "forwarding to another channel"
msgstr ""
-#, c-format
-msgid "%s%s[%s%s%s]%s exception %s%s%s"
+msgid "channel is already full"
msgstr ""
-#, c-format
-msgid " by %s%s %s(%s%s%s)"
+msgid "unknown mode char to me"
msgstr ""
-#, c-format
-msgid " by %s%s"
+msgid "cannot join channel (invite only)"
msgstr ""
-#, c-format
-msgid "%s%s%s on %s%s%s %s %s %s%s@%s %s(%s%s%s)"
+msgid "cannot join channel (banned from channel)"
msgstr ""
-#, c-format
-msgid "%s%s: cannot create nick \"%s\" for channel \"%s\""
+msgid "cannot join channel (bad channel key)"
msgstr ""
-#, c-format
-msgid ""
-"%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, %s%d%s %s, %s%d%s %s, %s%d%s %s%s)"
+msgid "bad channel mask"
msgstr ""
-msgid "nicks"
+msgid "channel doesn't support modes"
msgstr ""
-msgid "nick"
+msgid "you're not an IRC operator"
msgstr ""
-msgid "ops"
+msgid "you're not channel operator"
msgstr ""
-msgid "op"
+msgid "you can't kill a server!"
msgstr ""
-msgid "halfops"
+msgid "your connection is restricted!"
msgstr ""
-msgid "halfop"
+msgid "user is immune from kick/deop"
msgstr ""
-msgid "voices"
+msgid "network split"
msgstr ""
-msgid "voice"
+msgid "no O-lines for your host"
msgstr ""
-msgid "normal"
+msgid "unknown mode flag"
msgstr ""
-#, c-format
-msgid "%s[%s%s%s] %s%s%s banned by "
+msgid "can't change mode for other users"
msgstr ""
-#, c-format
-msgid "%s%s[%s%s%s] %s%s%s banned"
+msgid "whois (secure connection)"
msgstr ""
#, c-format
-msgid ""
-"%s%s: all declared nicknames are already in use or invalid, closing "
-"connection with server"
+msgid "%s%s: command \"%s\" not found:"
msgstr ""
#, c-format
-msgid "%s%s: nickname \"%s\" is invalid, trying nickname #%d (\"%s\")"
+msgid "%s%s: failed to parse command \"%s\" (please report to developers):"
msgstr ""
#, c-format
msgid ""
-"%s%s: all declared nicknames are already in use, closing connection with "
-"server"
+"%s%s: too few arguments received from IRC server for command \"%s"
+"\" (received: %d arguments, expected: at least %d)"
msgstr ""
#, c-format
-msgid "%s%s: nickname \"%s\" is already in use, trying nickname #%d (\"%s\")"
+msgid "%s%s: \"%s\" command received without host"
msgstr ""
#, c-format
@@ -3487,18 +3494,6 @@ msgid "%s%s: not enough memory for received IRC message"
msgstr ""
#, c-format
-msgid "%s%s: command \"%s\" failed"
-msgstr ""
-
-#, c-format
-msgid "%s%s: no command to execute"
-msgstr ""
-
-#, c-format
-msgid "%s%s: unknown command: cmd=\"%s\", host=\"%s\", arguments=\"%s\""
-msgstr ""
-
-#, c-format
msgid "%s%s: cannot read data from socket, disconnecting from server..."
msgstr ""
diff --git a/src/plugins/irc/irc-channel.c b/src/plugins/irc/irc-channel.c
index cd18fe33e..62f232919 100644
--- a/src/plugins/irc/irc-channel.c
+++ b/src/plugins/irc/irc-channel.c
@@ -310,9 +310,8 @@ irc_channel_remove_away (struct t_irc_channel *channel)
{
for (ptr_nick = channel->nicks; ptr_nick; ptr_nick = ptr_nick->next_nick)
{
- IRC_NICK_SET_FLAG(ptr_nick, 0, IRC_NICK_AWAY);
+ irc_nick_set (channel, ptr_nick, 0, IRC_NICK_AWAY);
}
- //gui_nicklist_draw (channel->buffer, 0, 0);
}
}
diff --git a/src/plugins/irc/irc-input.c b/src/plugins/irc/irc-input.c
index 93c8f026c..70eaf794c 100644
--- a/src/plugins/irc/irc-input.c
+++ b/src/plugins/irc/irc-input.c
@@ -147,8 +147,6 @@ irc_input_send_user_message (struct t_gui_buffer *buffer, char *text)
/*
* irc_input_data_cb: callback for input data in a buffer
- * Return: PROTOCOL_RC_OK if ok
- * PROTOCOL_RC_KO if error
*/
int
diff --git a/src/plugins/irc/irc-mode.c b/src/plugins/irc/irc-mode.c
index 837cfabf1..1186a03cd 100644
--- a/src/plugins/irc/irc-mode.c
+++ b/src/plugins/irc/irc-mode.c
@@ -42,39 +42,14 @@ void
irc_mode_channel_set_nick (struct t_irc_channel *channel, char *nick,
char set_flag, int flag)
{
- (void) channel;
- (void) nick;
- (void) set_flag;
- (void) flag;
-
- /*
struct t_irc_nick *ptr_nick;
- struct t_gui_nick *ptr_gui_nick;
- int sort_index, color_prefix;
- char prefix;
if (nick)
{
ptr_nick = irc_nick_search (channel, nick);
if (ptr_nick)
- {
- IRC_NICK_SET_FLAG(ptr_nick, (set_flag == '+'), flag);
- ptr_gui_nick = gui_nicklist_search (channel->buffer,
- ptr_nick->nick);
- if (ptr_gui_nick)
- {
- irc_nick_get_gui_infos (ptr_nick, &sort_index, &prefix,
- &color_prefix);
- gui_nicklist_update (channel->buffer, ptr_gui_nick, NULL,
- sort_index,
- ptr_gui_nick->color_nick,
- prefix,
- color_prefix);
- gui_nicklist_draw (channel->buffer, 1, 1);
- }
- }
+ irc_nick_set (channel, ptr_nick, (set_flag == '+'), flag);
}
- */
}
/*
@@ -107,7 +82,7 @@ void
irc_mode_channel_set (struct t_irc_server *server,
struct t_irc_channel *channel, char *modes)
{
- char *pos_args, set_flag, **argv, *pos, *ptr_arg;
+ char *pos_args, *str_modes, set_flag, **argv, *pos, *ptr_arg;
int argc, current_arg;
argc = 0;
@@ -116,7 +91,9 @@ irc_mode_channel_set (struct t_irc_server *server,
pos_args = strchr (modes, ' ');
if (pos_args)
{
- pos_args[0] = '\0';
+ str_modes = weechat_strndup (modes, pos_args - modes);
+ if (!str_modes)
+ return;
pos_args++;
while (pos_args[0] == ' ')
pos_args++;
@@ -124,12 +101,18 @@ irc_mode_channel_set (struct t_irc_server *server,
if (argc > 0)
current_arg = argc - 1;
}
+ else
+ {
+ str_modes = strdup (modes);
+ if (!str_modes)
+ return;
+ }
- if (modes && modes[0])
+ if (str_modes && str_modes[0])
{
set_flag = '+';
- pos = modes + strlen (modes) - 1;
- while (pos >= modes)
+ pos = str_modes + strlen (str_modes) - 1;
+ while (pos >= str_modes)
{
switch (pos[0])
{
@@ -139,7 +122,7 @@ irc_mode_channel_set (struct t_irc_server *server,
case '-':
break;
default:
- set_flag = irc_mode_channel_get_flag (modes, pos);
+ set_flag = irc_mode_channel_get_flag (str_modes, pos);
switch (pos[0])
{
case 'a': /* channel admin (unrealircd specific flag) */
@@ -219,7 +202,9 @@ irc_mode_channel_set (struct t_irc_server *server,
pos--;
}
}
-
+
+ if (str_modes)
+ free (str_modes);
if (argv)
weechat_string_free_exploded (argv);
}
diff --git a/src/plugins/irc/irc-nick.c b/src/plugins/irc/irc-nick.c
index 6cf854ea4..e5ba83646 100644
--- a/src/plugins/irc/irc-nick.c
+++ b/src/plugins/irc/irc-nick.c
@@ -148,6 +148,14 @@ irc_nick_new (struct t_irc_server *server, struct t_irc_channel *channel,
ptr_nick = irc_nick_search (channel, nick_name);
if (ptr_nick)
{
+ /* remove old nick from nicklist */
+ irc_nick_get_gui_infos (channel->buffer, ptr_nick, &prefix,
+ &prefix_color, &ptr_group);
+ weechat_nicklist_remove_nick (channel->buffer,
+ weechat_nicklist_search_nick (channel->buffer,
+ ptr_group,
+ ptr_nick->name));
+
/* update nick */
IRC_NICK_SET_FLAG(ptr_nick, is_chanowner, IRC_NICK_CHANOWNER);
IRC_NICK_SET_FLAG(ptr_nick, is_chanadmin, IRC_NICK_CHANADMIN);
@@ -157,12 +165,9 @@ irc_nick_new (struct t_irc_server *server, struct t_irc_channel *channel,
IRC_NICK_SET_FLAG(ptr_nick, has_voice, IRC_NICK_VOICE);
IRC_NICK_SET_FLAG(ptr_nick, is_chanuser, IRC_NICK_CHANUSER);
+ /* add new nick in nicklist */
irc_nick_get_gui_infos (channel->buffer, ptr_nick, &prefix,
&prefix_color, &ptr_group);
- weechat_nicklist_remove_nick (channel->buffer,
- weechat_nicklist_search_nick (channel->buffer,
- ptr_group,
- ptr_nick->name));
snprintf (str_prefix_color, sizeof (str_prefix_color),
"color_nicklist_prefix%d",
prefix_color);
@@ -270,6 +275,40 @@ irc_nick_change (struct t_irc_server *server, struct t_irc_channel *channel,
}
/*
+ * irc_nick_set: set a flag for a nick
+ */
+
+void
+irc_nick_set (struct t_irc_channel *channel,
+ struct t_irc_nick *nick, int set, int flag)
+{
+ char prefix, str_prefix_color[64];
+ int prefix_color;
+
+ struct t_gui_nick_group *ptr_group;
+ /* remove nick from nicklist */
+ irc_nick_get_gui_infos (channel->buffer, nick, &prefix,
+ &prefix_color, &ptr_group);
+ weechat_nicklist_remove_nick (channel->buffer,
+ weechat_nicklist_search_nick (channel->buffer,
+ ptr_group,
+ nick->name));
+
+ /* set flag */
+ IRC_NICK_SET_FLAG(nick, set, flag);
+
+ /* add nick in nicklist */
+ irc_nick_get_gui_infos (channel->buffer, nick, &prefix,
+ &prefix_color, &ptr_group);
+ snprintf (str_prefix_color, sizeof (str_prefix_color),
+ "color_nicklist_prefix%d",
+ prefix_color);
+ weechat_nicklist_add_nick (channel->buffer, ptr_group,
+ nick->name, nick->color,
+ prefix, str_prefix_color, 1);
+}
+
+/*
* irc_nick_free: free a nick and remove it from nicks list
*/
diff --git a/src/plugins/irc/irc-nick.h b/src/plugins/irc/irc-nick.h
index dbe3aaf3e..cd34d39d8 100644
--- a/src/plugins/irc/irc-nick.h
+++ b/src/plugins/irc/irc-nick.h
@@ -65,6 +65,8 @@ extern struct t_irc_nick *irc_nick_new (struct t_irc_server *server,
extern void irc_nick_change (struct t_irc_server *server,
struct t_irc_channel *channel,
struct t_irc_nick *nick, char *new_nick);
+extern void irc_nick_set (struct t_irc_channel *channel,
+ struct t_irc_nick *nick, int set, int flag);
extern void irc_nick_free (struct t_irc_channel *channel,
struct t_irc_nick *nick);
extern void irc_nick_free_all (struct t_irc_channel *channel);
diff --git a/src/plugins/irc/irc-protocol.c b/src/plugins/irc/irc-protocol.c
index 45c85a16c..154cba05f 100644
--- a/src/plugins/irc/irc-protocol.c
+++ b/src/plugins/irc/irc-protocol.c
@@ -53,126 +53,96 @@
#include "irc-mode.h"
-struct t_irc_protocol_msg irc_protocol_messages[] =
-{ { "error", N_("error received from IRC server"), NULL, irc_protocol_cmd_error },
- { "invite", N_("invite a nick on a channel"), NULL, irc_protocol_cmd_invite },
- { "join", N_("join a channel"), NULL, irc_protocol_cmd_join },
- { "kick", N_("forcibly remove a user from a channel"), irc_protocol_cmd_kick, NULL },
- { "kill", N_("close client-server connection"), irc_protocol_cmd_kill, NULL },
- { "mode", N_("change channel or user mode"), irc_protocol_cmd_mode, NULL },
- { "nick", N_("change current nickname"), irc_protocol_cmd_nick, NULL },
- { "notice", N_("send notice message to user"), irc_protocol_cmd_notice, NULL },
- { "part", N_("leave a channel"), irc_protocol_cmd_part, NULL },
- { "ping", N_("ping server"), irc_protocol_cmd_ping, NULL },
- { "pong", N_("answer to a ping message"), irc_protocol_cmd_pong, NULL },
- { "privmsg", N_("message received"), irc_protocol_cmd_privmsg, NULL },
- { "quit", N_("close all connections and quit"), irc_protocol_cmd_quit, NULL },
- { "topic", N_("get/set channel topic"), irc_protocol_cmd_topic, NULL },
- { "wallops", N_("send a message to all currently connected users who have "
- "set the 'w' user mode for themselves"), irc_protocol_cmd_wallops, NULL },
- { "001", N_("a server message"), irc_protocol_cmd_001, NULL },
- { "005", N_("a server message"), irc_protocol_cmd_005, NULL },
- { "221", N_("user mode string"), irc_protocol_cmd_221, NULL },
- { "301", N_("away message"), irc_protocol_cmd_301, NULL },
- { "302", N_("userhost"), irc_protocol_cmd_302, NULL },
- { "303", N_("ison"), irc_protocol_cmd_303, NULL },
- { "305", N_("unaway"), irc_protocol_cmd_305, NULL },
- { "306", N_("now away"), irc_protocol_cmd_306, NULL },
- { "307", N_("whois (registered nick)"), irc_protocol_cmd_whois_nick_msg, NULL },
- { "310", N_("whois (help mode)"), irc_protocol_cmd_310, NULL },
- { "311", N_("whois (user)"), irc_protocol_cmd_311, NULL },
- { "312", N_("whois (server)"), irc_protocol_cmd_312, NULL },
- { "313", N_("whois (operator)"), irc_protocol_cmd_whois_nick_msg, NULL },
- { "314", N_("whowas"), irc_protocol_cmd_314, NULL },
- { "315", N_("end of /who list"), irc_protocol_cmd_315, NULL },
- { "317", N_("whois (idle)"), irc_protocol_cmd_317, NULL },
- { "318", N_("whois (end)"), irc_protocol_cmd_whois_nick_msg, NULL },
- { "319", N_("whois (channels)"), irc_protocol_cmd_319, NULL },
- { "320", N_("whois (identified user)"), irc_protocol_cmd_whois_nick_msg, NULL },
- { "321", N_("/list start"), irc_protocol_cmd_321, NULL },
- { "322", N_("channel (for /list)"), irc_protocol_cmd_322, NULL },
- { "323", N_("/list end"), irc_protocol_cmd_323, NULL },
- { "324", N_("channel mode"), irc_protocol_cmd_324, NULL },
- { "326", N_("whois (has oper privs)"), irc_protocol_cmd_whois_nick_msg, NULL },
- { "327", N_("whois (host)"), irc_protocol_cmd_327, NULL },
- { "329", N_("channel creation date"), irc_protocol_cmd_329, NULL },
- { "331", N_("no topic for channel"), irc_protocol_cmd_331, NULL },
- { "332", N_("topic of channel"), irc_protocol_cmd_332, NULL },
- { "333", N_("infos about topic (nick and date changed)"), irc_protocol_cmd_333, NULL },
- { "338", N_("whois (host)"), irc_protocol_cmd_338, NULL },
- { "341", N_("inviting"), irc_protocol_cmd_341, NULL },
- { "344", N_("channel reop"), irc_protocol_cmd_344, NULL },
- { "345", N_("end of channel reop list"), irc_protocol_cmd_345, NULL },
- { "348", N_("channel exception list"), irc_protocol_cmd_348, NULL },
- { "349", N_("end of channel exception list"), irc_protocol_cmd_349, NULL },
- { "351", N_("server version"), irc_protocol_cmd_351, NULL },
- { "352", N_("who"), irc_protocol_cmd_352, NULL },
- { "353", N_("list of nicks on channel"), irc_protocol_cmd_353, NULL },
- { "366", N_("end of /names list"), irc_protocol_cmd_366, NULL },
- { "367", N_("banlist"), irc_protocol_cmd_367, NULL },
- { "368", N_("end of banlist"), irc_protocol_cmd_368, NULL },
- { "378", N_("whois (connecting from)"), irc_protocol_cmd_whois_nick_msg, NULL },
- { "379", N_("whois (using modes)"), irc_protocol_cmd_whois_nick_msg, NULL },
- { "401", N_("no such nick/channel"), NULL, irc_protocol_cmd_error },
- { "402", N_("no such server"), NULL, irc_protocol_cmd_error },
- { "403", N_("no such channel"), NULL, irc_protocol_cmd_error },
- { "404", N_("cannot send to channel"), NULL, irc_protocol_cmd_error },
- { "405", N_("too many channels"), NULL, irc_protocol_cmd_error },
- { "406", N_("was no such nick"), NULL, irc_protocol_cmd_error },
- { "407", N_("was no such nick"), NULL, irc_protocol_cmd_error },
- { "409", N_("no origin"), NULL, irc_protocol_cmd_error },
- { "410", N_("no services"), NULL, irc_protocol_cmd_error },
- { "411", N_("no recipient"), NULL, irc_protocol_cmd_error },
- { "412", N_("no text to send"), NULL, irc_protocol_cmd_error },
- { "413", N_("no toplevel"), NULL, irc_protocol_cmd_error },
- { "414", N_("wilcard in toplevel domain"), NULL, irc_protocol_cmd_error },
- { "421", N_("unknown command"), NULL, irc_protocol_cmd_error },
- { "422", N_("MOTD is missing"), NULL, irc_protocol_cmd_error },
- { "423", N_("no administrative info"), NULL, irc_protocol_cmd_error },
- { "424", N_("file error"), NULL, irc_protocol_cmd_error },
- { "431", N_("no nickname given"), NULL, irc_protocol_cmd_error },
- { "432", N_("erroneous nickname"), NULL, irc_protocol_cmd_432 },
- { "433", N_("nickname already in use"), NULL, irc_protocol_cmd_433 },
- { "436", N_("nickname collision"), NULL, irc_protocol_cmd_error },
- { "437", N_("resource unavailable"), NULL, irc_protocol_cmd_error },
- { "438", N_("not authorized to change nickname"), irc_protocol_cmd_438, NULL },
- { "441", N_("user not in channel"), NULL, irc_protocol_cmd_error },
- { "442", N_("not on channel"), NULL, irc_protocol_cmd_error },
- { "443", N_("user already on channel"), NULL, irc_protocol_cmd_error },
- { "444", N_("user not logged in"), NULL, irc_protocol_cmd_error },
- { "445", N_("summon has been disabled"), NULL, irc_protocol_cmd_error },
- { "446", N_("users has been disabled"), NULL, irc_protocol_cmd_error },
- { "451", N_("you are not registered"), NULL, irc_protocol_cmd_error },
- { "461", N_("not enough parameters"), NULL, irc_protocol_cmd_error },
- { "462", N_("you may not register"), NULL, irc_protocol_cmd_error },
- { "463", N_("your host isn't among the privileged"), NULL, irc_protocol_cmd_error },
- { "464", N_("password incorrect"), NULL, irc_protocol_cmd_error },
- { "465", N_("you are banned from this server"), NULL, irc_protocol_cmd_error },
- { "467", N_("channel key already set"), NULL, irc_protocol_cmd_error },
- { "470", N_("forwarding to another channel"), NULL, irc_protocol_cmd_error },
- { "471", N_("channel is already full"), NULL, irc_protocol_cmd_error },
- { "472", N_("unknown mode char to me"), NULL, irc_protocol_cmd_error },
- { "473", N_("cannot join channel (invite only)"), NULL, irc_protocol_cmd_error },
- { "474", N_("cannot join channel (banned from channel)"), NULL, irc_protocol_cmd_error },
- { "475", N_("cannot join channel (bad channel key)"), NULL, irc_protocol_cmd_error },
- { "476", N_("bad channel mask"), NULL, irc_protocol_cmd_error },
- { "477", N_("channel doesn't support modes"), NULL, irc_protocol_cmd_error },
- { "481", N_("you're not an IRC operator"), NULL, irc_protocol_cmd_error },
- { "482", N_("you're not channel operator"), NULL, irc_protocol_cmd_error },
- { "483", N_("you can't kill a server!"), NULL, irc_protocol_cmd_error },
- { "484", N_("your connection is restricted!"), NULL, irc_protocol_cmd_error },
- { "485", N_("user is immune from kick/deop"), NULL, irc_protocol_cmd_error },
- { "487", N_("network split"), NULL, irc_protocol_cmd_error },
- { "491", N_("no O-lines for your host"), NULL, irc_protocol_cmd_error },
- { "501", N_("unknown mode flag"), NULL, irc_protocol_cmd_error },
- { "502", N_("can't change mode for other users"), NULL, irc_protocol_cmd_error },
- { "671", N_("whois (secure connection)"), irc_protocol_cmd_671, NULL },
- { "973", N_("whois (secure connection)"), irc_protocol_cmd_server_mode_reason, NULL },
- { "974", N_("whois (secure connection)"), irc_protocol_cmd_server_mode_reason, NULL },
- { "975", N_("whois (secure connection)"), irc_protocol_cmd_server_mode_reason, NULL },
- { NULL, NULL, NULL, NULL }
-};
+/*
+ * irc_protocol_get_nick_from_host: get nick from host in an IRC message
+ */
+
+char *
+irc_protocol_get_nick_from_host (char *host)
+{
+ static char nick[128];
+ char *pos;
+ nick[0] = '\0';
+ if (host)
+ {
+ if (host[0] == ':')
+ host++;
+ pos = strchr (host, '!');
+ if (pos && (pos - host < (int)sizeof (nick)))
+ {
+ strncpy (nick, host, pos - host);
+ nick[pos - host] = '\0';
+ }
+ else
+ snprintf (nick, sizeof (nick), "%s", host);
+ }
+ return nick;
+}
+
+/*
+ * irc_protocol_get_address_from_host: get address from host in an IRC message
+ */
+
+char *
+irc_protocol_get_address_from_host (char *host)
+{
+ static char address[256];
+ char *pos;
+
+ address[0] = '\0';
+ if (host && (host[0] == ':'))
+ {
+ host++;
+ pos = strchr (host, '!');
+ if (pos)
+ snprintf (address, sizeof (address), "%s", pos + 1);
+ else
+ snprintf (address, sizeof (address), "%s", host);
+ }
+ return address;
+}
+
+/*
+ * irc_protocol_replace_vars: replace special IRC vars ($nick, $channel, $server) in a string
+ * Note: result has to be free() after use
+ */
+
+char *
+irc_protocol_replace_vars (struct t_irc_server *server,
+ struct t_irc_channel *channel, char *string)
+{
+ char *var_nick, *var_channel, *var_server;
+ char empty_string[1] = { '\0' };
+ char *res, *temp;
+
+ var_nick = (server && server->nick) ? server->nick : empty_string;
+ var_channel = (channel) ? channel->name : empty_string;
+ var_server = (server) ? server->name : empty_string;
+
+ /* replace nick */
+ temp = weechat_string_replace (string, "$nick", var_nick);
+ if (!temp)
+ return NULL;
+ res = temp;
+
+ /* replace channel */
+ temp = weechat_string_replace (res, "$channel", var_channel);
+ free (res);
+ if (!temp)
+ return NULL;
+ res = temp;
+
+ /* replace server */
+ temp = weechat_string_replace (res, "$server", var_server);
+ free (res);
+ if (!temp)
+ return NULL;
+ res = temp;
+
+ /* return result */
+ return res;
+}
/*
* irc_protocol_get_wide_char: get wide char from string (first char)
@@ -242,22 +212,6 @@ irc_protocol_is_word_char (char *str)
}
/*
- * irc_protocol_is_numeric_command: return 1 if given string is 100% numeric
- */
-
-int
-irc_protocol_is_numeric_command (char *str)
-{
- while (str && str[0])
- {
- if (!isdigit (str[0]))
- return 0;
- str++;
- }
- return 1;
-}
-
-/*
* irc_protocol_is_highlight: return 1 if given message contains highlight (with given nick
* or at least one of string in "irc_higlight" setting)
*/
@@ -386,223 +340,19 @@ irc_protocol_is_highlight (char *message, char *nick)
}
/*
- * irc_protocol_replace_vars: replace special IRC vars ($nick, $channel, $server) in a string
- * Note: result has to be free() after use
- */
-
-char *
-irc_protocol_replace_vars (struct t_irc_server *server,
- struct t_irc_channel *channel, char *string)
-{
- char *var_nick, *var_channel, *var_server;
- char empty_string[1] = { '\0' };
- char *res, *temp;
-
- var_nick = (server && server->nick) ? server->nick : empty_string;
- var_channel = (channel) ? channel->name : empty_string;
- var_server = (server) ? server->name : empty_string;
-
- /* replace nick */
- temp = weechat_string_replace (string, "$nick", var_nick);
- if (!temp)
- return NULL;
- res = temp;
-
- /* replace channel */
- temp = weechat_string_replace (res, "$channel", var_channel);
- free (res);
- if (!temp)
- return NULL;
- res = temp;
-
- /* replace server */
- temp = weechat_string_replace (res, "$server", var_server);
- free (res);
- if (!temp)
- return NULL;
- res = temp;
-
- /* return result */
- return res;
-}
-
-/*
- * irc_protocol_get_nick_from_host: get nick from host in an IRC message
- */
-
-char *
-irc_protocol_get_nick_from_host (char *host)
-{
- static char nick[128];
- char *pos;
-
- nick[0] = '\0';
- if (host)
- {
- if (host[0] == ':')
- host++;
- pos = strchr (host, '!');
- if (pos && (pos - host < (int)sizeof (nick)))
- {
- strncpy (nick, host, pos - host);
- nick[pos - host] = '\0';
- }
- else
- snprintf (nick, sizeof (nick), "%s", host);
- }
- return nick;
-}
-
-/*
- * irc_protocol_get_address_from_host: get address from host in an IRC message
- */
-
-char *
-irc_protocol_get_address_from_host (char *host)
-{
- static char address[256];
- char *pos;
-
- address[0] = '\0';
- if (host)
- {
- if (host[0] == ':')
- host++;
- pos = strchr (host, '!');
- if (pos)
- snprintf (address, sizeof (address), "%s", pos + 1);
- else
- snprintf (address, sizeof (address), "%s", host);
- }
- return address;
-}
-
-/*
- * irc_protocol_recv_command: executes action when receiving IRC command
- * return: 0 = all ok, command executed
- * -1 = command failed
- * -2 = no command to execute
- * -3 = command not found
- */
-
-int
-irc_protocol_recv_command (struct t_irc_server *server, char *entire_line,
- char *host, char *command, char *arguments)
-{
- int i, cmd_found, return_code, ignore, highlight, argc;
- char *pos, *nick;
- char *dup_entire_line, *dup_host, *dup_arguments, *irc_message;
- t_irc_recv_func *cmd_recv_func;
- t_irc_recv_func2 *cmd_recv_func2;
- char *cmd_name, **argv, **argv_eol;
-
- if (!command)
- return -2;
-
- /* look for IRC command */
- cmd_found = -1;
- for (i = 0; irc_protocol_messages[i].name; i++)
- {
- if (weechat_strcasecmp (irc_protocol_messages[i].name, command) == 0)
- {
- cmd_found = i;
- break;
- }
- }
-
- /* command not found */
- if (cmd_found < 0)
- {
- /* for numeric commands, we use default recv function */
- if (irc_protocol_is_numeric_command (command))
- {
- cmd_name = command;
- cmd_recv_func = irc_protocol_cmd_server_msg;
- cmd_recv_func2 = NULL;
- }
- else
- return -3;
- }
- else
- {
- cmd_name = irc_protocol_messages[cmd_found].name;
- cmd_recv_func = irc_protocol_messages[cmd_found].recv_function;
- cmd_recv_func2 = irc_protocol_messages[cmd_found].recv_function2;
- }
-
- if ((cmd_recv_func != NULL) || (cmd_recv_func2 != NULL))
- {
- argv = weechat_string_explode (entire_line, " ", 0, 0, &argc);
- argv_eol = weechat_string_explode (entire_line, " ", 1, 0, NULL);
- dup_entire_line = (entire_line) ? strdup (entire_line) : NULL;
- dup_host = (host) ? strdup (host) : NULL;
- dup_arguments = (arguments) ? strdup (arguments) : NULL;
-
- ignore = 0;
- highlight = 0;
-
- //return_code = plugin_msg_handler_exec (server->name,
- // cmd_name,
- // dup_entire_line);
- /* plugin handler choosed to discard message for WeeChat,
- so we ignore this message in standard handler */
- //if (return_code & PLUGIN_RC_OK_IGNORE_WEECHAT)
- // ignore = 1;
- /* plugin asked for highlight ? */
- //if (return_code & PLUGIN_RC_OK_WITH_HIGHLIGHT)
- // highlight = 1;
-
- pos = (dup_host) ? strchr (dup_host, '!') : NULL;
- if (pos)
- pos[0] = '\0';
- nick = (dup_host) ? strdup (dup_host) : NULL;
- if (pos)
- pos[0] = '!';
- irc_message = strdup (dup_entire_line);
-
- if (cmd_recv_func2 != NULL)
- {
- return_code = (int) (cmd_recv_func2) (server, argc, argv, argv_eol,
- ignore, highlight);
- }
- else
- {
- return_code = (int) (cmd_recv_func) (server, irc_message,
- dup_host, nick,
- dup_arguments,
- ignore, highlight);
- }
- if (irc_message)
- free (irc_message);
- if (nick)
- free (nick);
- if (dup_entire_line)
- free (dup_entire_line);
- if (dup_host)
- free (dup_host);
- if (dup_arguments)
- free (dup_arguments);
- if (argv)
- weechat_string_free_exploded (argv);
- if (argv_eol)
- weechat_string_free_exploded (argv_eol);
- return return_code;
- }
-
- return 0;
-}
-
-/*
* irc_protocol_cmd_error: error received from server
*/
int
-irc_protocol_cmd_error (struct t_irc_server *server, int argc, char **argv,
- char **argv_eol, int ignore, int highlight)
+irc_protocol_cmd_error (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
int first_arg;
char *chan_nick, *args;
+ IRC_PROTOCOL_MIN_ARGS(4);
+
/* make C compiler happy */
(void) argc;
(void) ignore;
@@ -625,7 +375,7 @@ irc_protocol_cmd_error (struct t_irc_server *server, int argc, char **argv,
weechat_printf (server->buffer,
"%s%s%s%s",
- weechat_prefix ("error"),
+ weechat_prefix ("network"),
(chan_nick) ? chan_nick : "",
(chan_nick) ? ": " : "",
args);
@@ -641,19 +391,27 @@ irc_protocol_cmd_error (struct t_irc_server *server, int argc, char **argv,
*/
int
-irc_protocol_cmd_invite (struct t_irc_server *server, int argc, char **argv,
- char **argv_eol, int ignore, int highlight)
+irc_protocol_cmd_invite (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
+ /* INVITE message looks like:
+ :nick!user@host INVITE mynick :#channel
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(4);
+ IRC_PROTOCOL_CHECK_HOST;
+
/* make C compiler happy */
- (void) argc;
(void) argv_eol;
(void) highlight;
- if (!ignore && argv[3])
+ if (!ignore)
{
weechat_printf (server->buffer,
- _("You have been invited to %s%s%s by "
+ _("%sYou have been invited to %s%s%s by "
"%s%s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_CHANNEL,
(argv[3][0] == ':') ? argv[3] + 1 : argv[3],
IRC_COLOR_CHAT,
@@ -662,14 +420,6 @@ irc_protocol_cmd_invite (struct t_irc_server *server, int argc, char **argv,
weechat_buffer_set (server->buffer, "hotlist",
WEECHAT_HOTLIST_HIGHLIGHT);
}
- else
- {
- weechat_printf (server->buffer,
- _("%s%s: channel \"%s\" not found for "
- "\"%s\" command"),
- weechat_prefix ("error"), "irc", "", "invite");
- return WEECHAT_RC_ERROR;
- }
return WEECHAT_RC_OK;
}
@@ -680,28 +430,27 @@ irc_protocol_cmd_invite (struct t_irc_server *server, int argc, char **argv,
*/
int
-irc_protocol_cmd_join (struct t_irc_server *server, int argc, char **argv,
- char **argv_eol, int ignore, int highlight)
+irc_protocol_cmd_join (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
struct t_irc_channel *ptr_channel;
struct t_irc_nick *ptr_nick;
char *pos_channel;
+ /* JOIN message looks like:
+ :nick!user@host JOIN :#channel
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
+ IRC_PROTOCOL_CHECK_HOST;
+
/* make C compiler happy */
- (void) argc;
(void) argv_eol;
(void) highlight;
- /* no host => we can't identify sender of message! */
- if (argv[0][0] != ':')
- {
- weechat_printf (server->buffer,
- _("%s%s: \"%s\" command received without host"),
- weechat_prefix ("error"), "irc", "join");
- return WEECHAT_RC_ERROR;
- }
-
pos_channel = (argv[2][0] == ':') ? argv[2] + 1 : argv[2];
+
ptr_channel = irc_channel_search (server, pos_channel);
if (!ptr_channel)
{
@@ -759,93 +508,75 @@ irc_protocol_cmd_join (struct t_irc_server *server, int argc, char **argv,
*/
int
-irc_protocol_cmd_kick (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_kick (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_nick, *pos_comment;
+ char *pos_comment;
struct t_irc_channel *ptr_channel;
struct t_irc_nick *ptr_nick;
+
+ /* KICK message looks like:
+ :nick1!user@host KICK #channel nick2 :kick reason
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(4);
+ IRC_PROTOCOL_CHECK_HOST;
/* make C compiler happy */
- (void) irc_message;
- (void) host;
(void) highlight;
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
+ pos_comment = (argc > 4) ?
+ ((argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4]) : NULL;
+
+ ptr_channel = irc_channel_search (server, argv[2]);
+ if (!ptr_channel)
{
- pos_nick[0] = '\0';
- pos_nick++;
- while (pos_nick[0] == ' ')
- pos_nick++;
+ weechat_printf (server->buffer,
+ _("%s%s: channel \"%s\" not found for "
+ "\"%s\" command"),
+ weechat_prefix ("error"), "irc", argv[2],
+ "kick");
+ return WEECHAT_RC_ERROR;
+ }
- pos_comment = strchr (pos_nick, ' ');
+ if (!ignore)
+ {
if (pos_comment)
{
- pos_comment[0] = '\0';
- pos_comment++;
- while (pos_comment[0] == ' ')
- pos_comment++;
- if (pos_comment[0] == ':')
- pos_comment++;
- }
-
- ptr_channel = irc_channel_search (server, arguments);
- if (!ptr_channel)
- {
- weechat_printf (server->buffer,
- _("%s%s: channel \"%s\" not found for "
- "\"%s\" command"),
- weechat_prefix ("error"), "irc", arguments,
- "kick");
- return WEECHAT_RC_ERROR;
+ weechat_printf (ptr_channel->buffer,
+ _("%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"),
+ weechat_prefix ("quit"),
+ IRC_COLOR_CHAT_NICK,
+ irc_protocol_get_nick_from_host (argv[0]),
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[2],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ pos_comment,
+ IRC_COLOR_CHAT_DELIMITERS);
}
-
- if (!ignore)
+ else
{
- if (pos_comment)
- {
- weechat_printf (ptr_channel->buffer,
- _("%s%s%s%s has kicked %s%s%s from %s%s %s(%s%s%s)"),
- weechat_prefix ("quit"),
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_CHANNEL,
- arguments,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_comment,
- IRC_COLOR_CHAT_DELIMITERS);
- }
- else
- {
- weechat_printf (ptr_channel->buffer,
- _("%s%s%s%s has kicked %s%s%s from %s%s"),
- weechat_prefix ("quit"),
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_CHANNEL,
- arguments);
- }
+ weechat_printf (ptr_channel->buffer,
+ _("%s%s%s%s has kicked %s%s%s from %s%s"),
+ weechat_prefix ("quit"),
+ IRC_COLOR_CHAT_NICK,
+ irc_protocol_get_nick_from_host (argv[0]),
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[2]);
}
}
- else
- {
- weechat_printf (server->buffer,
- _("%s%s: nick \"%s\" not found for \"%s\" "
- "command"),
- weechat_prefix ("error"), "irc", "", "kick");
- return WEECHAT_RC_ERROR;
- }
- if (strcmp (pos_nick, server->nick) == 0)
+
+ if (strcmp (argv[3], server->nick) == 0)
{
/* my nick was kicked => free all nicks, channel is not active any
more */
@@ -857,7 +588,7 @@ irc_protocol_cmd_kick (struct t_irc_server *server, char *irc_message, char *hos
{
/* someone was kicked from channel (but not me) => remove only this
nick */
- ptr_nick = irc_nick_search (ptr_channel, pos_nick);
+ ptr_nick = irc_nick_search (ptr_channel, argv[3]);
if (ptr_nick)
irc_nick_free (ptr_channel, ptr_nick);
}
@@ -870,87 +601,69 @@ irc_protocol_cmd_kick (struct t_irc_server *server, char *irc_message, char *hos
*/
int
-irc_protocol_cmd_kill (struct t_irc_server *server, char *irc_message,
- char *host, char *nick, char *arguments, int ignore,
- int highlight)
+irc_protocol_cmd_kill (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_host2, *pos_comment;
+ char *pos_comment;
struct t_irc_channel *ptr_channel;
+ struct t_irc_nick *ptr_nick;
+
+ /* KILL message looks like:
+ :nick1!user@host KILL mynick :kill reason
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
+ IRC_PROTOCOL_CHECK_HOST;
/* make C compiler happy */
- (void) irc_message;
- (void) host;
(void) highlight;
- pos_host2 = strchr (arguments, ' ');
- if (pos_host2)
+ pos_comment = (argc > 3) ?
+ ((argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]) : NULL;
+
+ for (ptr_channel = server->channels; ptr_channel;
+ ptr_channel = ptr_channel->next_channel)
{
- pos_host2[0] = '\0';
- pos_host2++;
- while (pos_host2[0] == ' ')
- pos_host2++;
-
- if (pos_host2[0] == ':')
- pos_comment = pos_host2 + 1;
- else
+ if (!ignore)
{
- pos_comment = strchr (pos_host2, ' ');
if (pos_comment)
{
- pos_comment[0] = '\0';
- pos_comment++;
- while (pos_comment[0] == ' ')
- pos_comment++;
- if (pos_comment[0] == ':')
- pos_comment++;
+ weechat_printf (ptr_channel->buffer,
+ _("%sYou were killed by %s%s %s(%s%s%s)"),
+ weechat_prefix ("quit"),
+ IRC_COLOR_CHAT_NICK,
+ irc_protocol_get_nick_from_host (argv[0]),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ pos_comment,
+ IRC_COLOR_CHAT_DELIMITERS);
}
- }
-
- for (ptr_channel = server->channels; ptr_channel;
- ptr_channel = ptr_channel->next_channel)
- {
- if (!ignore)
+ else
{
- if (pos_comment)
- {
- weechat_printf (ptr_channel->buffer,
- _("%s%s%s%s has killed %s%s%s from "
- "server %s(%s%s%s)"),
- weechat_prefix ("quit"),
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- arguments,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_comment,
- IRC_COLOR_CHAT_DELIMITERS);
- }
- else
- {
- weechat_printf (ptr_channel->buffer,
- _("%s%s%s%s has killed %s%s%s from "
- "server"),
- weechat_prefix ("quit"),
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- arguments,
- IRC_COLOR_CHAT);
- }
+ weechat_printf (ptr_channel->buffer,
+ _("%sYou were killed by %s%s"),
+ weechat_prefix ("quit"),
+ IRC_COLOR_CHAT_NICK,
+ irc_protocol_get_nick_from_host (argv[0]));
+ }
+
+ if (strcmp (argv[2], server->nick) == 0)
+ {
+ /* my nick was killed => free all nicks, channel is not active any
+ more */
+ irc_nick_free_all (ptr_channel);
+ }
+ else
+ {
+ /* someone was killed on channel (but not me) => remove only this
+ nick */
+ ptr_nick = irc_nick_search (ptr_channel, argv[2]);
+ if (ptr_nick)
+ irc_nick_free (ptr_channel, ptr_nick);
}
}
}
- else
- {
- weechat_printf (server->buffer,
- _("%s%s: host not found for \"%s\" command"),
- weechat_prefix ("error"), "irc", "kill");
- return WEECHAT_RC_ERROR;
- }
return WEECHAT_RC_OK;
}
@@ -960,81 +673,48 @@ irc_protocol_cmd_kill (struct t_irc_server *server, char *irc_message,
*/
int
-irc_protocol_cmd_mode (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_mode (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_modes, *pos;
+ char *pos_modes;
struct t_irc_channel *ptr_channel;
+ /* MODE message looks like:
+ :nick!user@host MODE #test +o nick
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(4);
+ IRC_PROTOCOL_CHECK_HOST;
+
/* make C compiler happy */
- (void) irc_message;
(void) highlight;
- /* no host => we can't identify sender of message! */
- if (!host)
- {
- weechat_printf (server->buffer,
- _("%s%s: \"%s\" command received without "
- "host"),
- weechat_prefix ("error"), "irc", "mode");
- return WEECHAT_RC_ERROR;
- }
-
- pos_modes = strchr (arguments, ' ');
- if (!pos_modes)
- {
- weechat_printf (server->buffer,
- _("%s%s: \"%s\" command received without "
- "channel or nickname"),
- weechat_prefix ("error"), "irc", "mode");
- return WEECHAT_RC_ERROR;
- }
- pos_modes[0] = '\0';
- pos_modes++;
- while (pos_modes[0] == ' ')
- pos_modes++;
- if (pos_modes[0] == ':')
- pos_modes++;
-
- /* remove spaces after modes */
- pos = pos_modes + strlen (pos_modes) - 1;
- while ((pos >= pos_modes) && (pos[0] == ' '))
- {
- pos[0] = '\0';
- pos--;
- }
+ pos_modes = (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3];
- if (irc_channel_is_channel (arguments))
+ if (irc_channel_is_channel (argv[2]))
{
- ptr_channel = irc_channel_search (server, arguments);
+ ptr_channel = irc_channel_search (server, argv[2]);
if (ptr_channel)
{
- if (!ignore)
- {
- weechat_printf (ptr_channel->buffer,
- _("%sMode %s%s %s[%s%s%s]%s by %s%s"),
- weechat_prefix ("info"),
- IRC_COLOR_CHAT_CHANNEL,
- ptr_channel->name,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_modes,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- nick);
- }
irc_mode_channel_set (server, ptr_channel, pos_modes);
irc_server_sendf (server, "MODE %s", ptr_channel->name);
}
- else
+ if (!ignore)
{
- weechat_printf (server->buffer,
- _("%s%s: channel \"%s\" not found for \"%s\" "
- "command"),
- weechat_prefix ("error"), "irc", arguments,
- "mode");
- return WEECHAT_RC_ERROR;
+ weechat_printf ((ptr_channel) ?
+ ptr_channel->buffer : server->buffer,
+ _("%sMode %s%s %s[%s%s%s]%s by %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ ptr_channel->name,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ pos_modes,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ irc_protocol_get_nick_from_host (argv[0]));
}
}
else
@@ -1043,14 +723,14 @@ irc_protocol_cmd_mode (struct t_irc_server *server, char *irc_message, char *hos
{
weechat_printf (server->buffer,
_("%sUser mode %s[%s%s%s]%s by %s%s"),
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT,
pos_modes,
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_NICK,
- nick);
+ irc_protocol_get_nick_from_host (argv[0]));
}
irc_mode_user_set (server, pos_modes);
}
@@ -1063,29 +743,30 @@ irc_protocol_cmd_mode (struct t_irc_server *server, char *irc_message, char *hos
*/
int
-irc_protocol_cmd_nick (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_nick (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
struct t_irc_channel *ptr_channel;
struct t_irc_nick *ptr_nick;
+ char *old_nick, *new_nick;
int nick_is_me;
- //struct t_gui_window *ptr_window;
-
+
+ /* NICK message looks like:
+ :oldnick!user@host NICK :newnick
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
+ IRC_PROTOCOL_CHECK_HOST;
+
/* make C compiler happy */
- (void) irc_message;
+ (void) argv_eol;
(void) highlight;
- /* no host => we can't identify sender of message! */
- if (!host)
- {
- weechat_printf (server->buffer,
- _("%s%s: \"%s\" command received without host"),
- weechat_prefix ("error"), "irc", "nick");
- return WEECHAT_RC_ERROR;
- }
-
- if (arguments[0] == ':')
- arguments++;
+ old_nick = irc_protocol_get_nick_from_host (argv[0]);
+ new_nick = (argv[2][0] == ':') ? argv[2] + 1 : argv[2];
+
+ nick_is_me = (strcmp (old_nick, server->nick) == 0) ? 1 : 0;
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
@@ -1095,43 +776,46 @@ irc_protocol_cmd_nick (struct t_irc_server *server, char *irc_message, char *hos
case IRC_CHANNEL_TYPE_PRIVATE:
case IRC_CHANNEL_TYPE_DCC_CHAT:
/* rename private window if this is with "old nick" */
- if (weechat_strcasecmp (ptr_channel->name, nick) == 0)
+ if (weechat_strcasecmp (ptr_channel->name, old_nick) == 0)
{
free (ptr_channel->name);
- ptr_channel->name = strdup (arguments);
+ ptr_channel->name = strdup (new_nick);
}
+ weechat_buffer_set (ptr_channel->buffer, "name", new_nick);
break;
case IRC_CHANNEL_TYPE_CHANNEL:
/* rename nick in nicklist if found */
- ptr_nick = irc_nick_search (ptr_channel, nick);
+ ptr_nick = irc_nick_search (ptr_channel, old_nick);
if (ptr_nick)
{
- nick_is_me = (strcmp (ptr_nick->name, server->nick) == 0) ? 1 : 0;
-
/* temporary disable hotlist */
weechat_buffer_set (NULL, "hotlist", "-");
/* change nick and display message on all channels */
- irc_nick_change (server, ptr_channel, ptr_nick, arguments);
+ irc_nick_change (server, ptr_channel, ptr_nick, new_nick);
if (!ignore)
{
if (nick_is_me)
+ {
weechat_printf (ptr_channel->buffer,
_("%sYou are now known as %s%s"),
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_NICK,
- arguments);
+ new_nick);
+ }
else
+ {
weechat_printf (ptr_channel->buffer,
_("%s%s%s%s is now known as %s%s"),
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_NICK,
- nick,
+ old_nick,
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_NICK,
- arguments);
+ new_nick);
+ }
}
-
+
/* enable hotlist */
weechat_buffer_set (NULL, "hotlist", "+");
}
@@ -1139,8 +823,8 @@ irc_protocol_cmd_nick (struct t_irc_server *server, char *irc_message, char *hos
}
}
- if (strcmp (server->nick, nick) == 0)
- irc_server_set_nick (server, arguments);
+ if (nick_is_me)
+ irc_server_set_nick (server, new_nick);
return WEECHAT_RC_OK;
}
@@ -1150,84 +834,80 @@ irc_protocol_cmd_nick (struct t_irc_server *server, char *irc_message, char *hos
*/
int
-irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_notice (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *host2, *pos, *pos2, *pos_usec;
+ char *nick, *host, *pos_args, *pos_end, *pos_usec;
struct timeval tv;
long sec1, usec1, sec2, usec2, difftime;
struct t_irc_channel *ptr_channel;
int highlight_displayed, look_infobar_delay_highlight;
- /* make C compiler happy */
- (void) irc_message;
+ /* NOTICE message looks like:
+ NOTICE AUTH :*** Looking up your hostname...
+ :nick!user@host NOTICE mynick :notice text
+ */
- look_infobar_delay_highlight = weechat_config_integer (
- weechat_config_get_weechat ("look_infobar_delay_highlight"));
+ IRC_PROTOCOL_MIN_ARGS(3);
- host2 = NULL;
- if (host)
+ if (argv[0][0] == ':')
{
- pos = strchr (host, '!');
- if (pos)
- host2 = pos + 1;
- }
-
- pos = strchr (arguments, ' ');
- if (pos)
- {
- pos[0] = '\0';
- pos++;
- while (pos[0] == ' ')
- pos++;
- if (pos[0] == ':')
- pos++;
+ nick = irc_protocol_get_nick_from_host (argv[0]);
+ host = irc_protocol_get_address_from_host (argv[0]);
+ pos_args = (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3];
}
else
{
- weechat_printf (server->buffer,
- _("%s%s: nickname not found for \"%s\" command"),
- weechat_prefix ("error"), "irc", "notice");
- return WEECHAT_RC_ERROR;
+ nick = NULL;
+ host = NULL;
+ pos_args = (argv_eol[2][0] == ':') ? argv_eol[2] + 1 : argv_eol[2];
}
+ look_infobar_delay_highlight = weechat_config_integer (
+ weechat_config_get_weechat ("look_infobar_delay_highlight"));
+
if (!ignore)
{
- if (strncmp (pos, "\01VERSION", 8) == 0)
+ if (nick && strncmp (pos_args, "\01VERSION", 8) == 0)
{
- pos += 9;
- pos2 = strchr (pos, '\01');
- if (pos2)
- pos2[0] = '\0';
+ pos_args += 9;
+ pos_end = strchr (pos_args, '\01');
+ if (pos_end)
+ pos_end[0] = '\0';
weechat_printf (server->buffer,
- _("CTCP %sVERSION%s reply from %s%s%s: %s"),
+ _("%sCTCP %sVERSION%s reply from %s%s%s: %s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_CHANNEL,
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_NICK,
nick,
IRC_COLOR_CHAT,
- pos);
+ pos_args);
+ if (pos_end)
+ pos_end[0] = '\01';
}
else
{
- if (strncmp (pos, "\01PING", 5) == 0)
+ if (nick && strncmp (pos_args, "\01PING", 5) == 0)
{
- pos += 5;
- while (pos[0] == ' ')
- pos++;
- pos_usec = strchr (pos, ' ');
+ pos_args += 5;
+ while (pos_args[0] == ' ')
+ {
+ pos_args++;
+ }
+ pos_usec = strchr (pos_args, ' ');
if (pos_usec)
{
pos_usec[0] = '\0';
- pos_usec++;
- pos2 = strchr (pos_usec, '\01');
- if (pos2)
+ pos_end = strchr (pos_usec + 1, '\01');
+ if (pos_end)
{
- pos2[0] = '\0';
+ pos_end[0] = '\0';
gettimeofday (&tv, NULL);
- sec1 = atol (pos);
- usec1 = atol (pos_usec);
+ sec1 = atol (pos_args);
+ usec1 = atol (pos_usec + 1);
sec2 = tv.tv_sec;
usec2 = tv.tv_usec;
@@ -1235,8 +915,9 @@ irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *h
((sec1 * 1000000) + usec1);
weechat_printf (server->buffer,
- _("CTCP %sPING%s reply from "
+ _("%sCTCP %sPING%s reply from "
"%s%s%s: %ld.%ld %s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_CHANNEL,
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_NICK,
@@ -1246,13 +927,15 @@ irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *h
(difftime % 1000000) / 1000,
(NG_("second", "seconds",
(difftime / 1000000))));
+
+ pos_end[0] = '\01';
}
+ pos_usec[0] = ' ';
}
}
else
{
- if (nick && nick[0]
- && weechat_config_boolean (irc_config_irc_notice_as_pv))
+ if (nick && weechat_config_boolean (irc_config_irc_notice_as_pv))
{
ptr_channel = irc_channel_search (server, nick);
if (!ptr_channel)
@@ -1272,24 +955,27 @@ irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *h
}
if (!ptr_channel->topic)
{
- ptr_channel->topic = strdup ((host2) ? host2 : "");
- //gui_chat_draw_title (ptr_channel->buffer, 1);
+ ptr_channel->topic = strdup ((host) ? host : "");
+ weechat_buffer_set (ptr_channel->buffer,
+ "title", ptr_channel->topic);
}
if (highlight
- || irc_protocol_is_highlight (pos, server->nick))
+ || irc_protocol_is_highlight (pos_args, server->nick))
{
weechat_printf (ptr_channel->buffer,
"%s%s",
irc_nick_as_prefix (NULL, nick,
IRC_COLOR_CHAT_HIGHLIGHT),
- pos);
+ pos_args);
if ((look_infobar_delay_highlight > 0)
&& (ptr_channel->buffer != weechat_current_buffer))
+ {
weechat_infobar_printf (look_infobar_delay_highlight,
IRC_COLOR_INFOBAR_HIGHLIGHT,
_("Private %s> %s"),
- nick, pos);
+ nick, pos_args);
+ }
highlight_displayed = 1;
}
else
@@ -1298,53 +984,63 @@ irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *h
"%s%s",
irc_nick_as_prefix (NULL, nick,
IRC_COLOR_CHAT_NICK_OTHER),
- pos);
+ pos_args);
highlight_displayed = 0;
}
- //if (highlight_displayed)
- // (void) plugin_msg_handler_exec (server->name,
- // "weechat_highlight",
- // irc_message);
+
+ /* send "irc_highlight" signal */
+ if (highlight_displayed)
+ {
+ weechat_hook_signal_send ("irc_highlight",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+ }
}
else
{
- if (host)
+ if (host && host[0])
+ {
+ weechat_printf (server->buffer,
+ "%s%s%s %s(%s%s%s)%s: %s",
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_NICK,
+ nick,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_HOST,
+ host,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ pos_args);
+ }
+ else
{
- if (host2)
+ if (nick && nick[0])
{
weechat_printf (server->buffer,
- "%s%s %s(%s%s%s)%s: %s",
+ "%s%s%s%s: %s",
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_NICK,
nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_HOST,
- host2,
- IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT,
- pos);
+ pos_args);
}
else
{
- weechat_printf (server->buffer, "%s%s%s: %s",
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- pos);
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("network"),
+ pos_args);
}
}
- else
- weechat_printf (server->buffer, "%s%s",
- IRC_COLOR_CHAT,
- pos);
-
- if ((nick)
- && (weechat_strcasecmp (nick, "nickserv") != 0)
- && (weechat_strcasecmp (nick, "chanserv") != 0)
- && (weechat_strcasecmp (nick, "memoserv") != 0))
- {
- weechat_buffer_set (server->buffer, "hotlist",
- WEECHAT_HOTLIST_PRIVATE);
- }
+ }
+
+ if (nick
+ && (weechat_strcasecmp (nick, "nickserv") != 0)
+ && (weechat_strcasecmp (nick, "chanserv") != 0)
+ && (weechat_strcasecmp (nick, "memoserv") != 0))
+ {
+ weechat_buffer_set (server->buffer, "hotlist",
+ WEECHAT_HOTLIST_PRIVATE);
}
}
}
@@ -1358,43 +1054,32 @@ irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *h
*/
int
-irc_protocol_cmd_part (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_part (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos, *pos_args, *join_string;
+ char *nick, *host, *pos_comment, *join_string;
int join_length;
struct t_irc_channel *ptr_channel;
struct t_irc_nick *ptr_nick;
+ /* PART message looks like:
+ :nick!user@host PART #channel :part message
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
+ IRC_PROTOCOL_CHECK_HOST;
+
/* make C compiler happy */
- (void) irc_message;
(void) highlight;
- /* no host => we can't identify sender of message! */
- if (!host || !arguments)
- {
- weechat_printf (server->buffer,
- _("%s%s: \"%s\" command received without host or "
- "channel"),
- weechat_prefix ("error"), "irc", "part");
- return WEECHAT_RC_ERROR;
- }
-
- if (arguments[0] == ':')
- arguments++;
+ nick = irc_protocol_get_nick_from_host (argv[0]);
+ host = irc_protocol_get_address_from_host (argv[0]);
- pos_args = strchr (arguments, ' ');
- if (pos_args)
- {
- pos_args[0] = '\0';
- pos_args++;
- while (pos_args[0] == ' ')
- pos_args++;
- if (pos_args[0] == ':')
- pos_args++;
- }
+ pos_comment = (argc > 3) ?
+ ((argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]) : NULL;
- ptr_channel = irc_channel_search (server, arguments);
+ ptr_channel = irc_channel_search (server, argv[2]);
if (ptr_channel)
{
ptr_nick = irc_nick_search (ptr_channel, nick);
@@ -1403,8 +1088,7 @@ irc_protocol_cmd_part (struct t_irc_server *server, char *irc_message, char *hos
/* display part message */
if (!ignore)
{
- pos = strchr (host, '!');
- if (pos_args && pos_args[0])
+ if (pos_comment)
{
weechat_printf (ptr_channel->buffer,
_("%s%s%s %s(%s%s%s)%s has left %s%s %s(%s%s%s)"),
@@ -1413,14 +1097,14 @@ irc_protocol_cmd_part (struct t_irc_server *server, char *irc_message, char *hos
nick,
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_HOST,
- (pos) ? pos + 1 : "",
+ host,
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_CHANNEL,
ptr_channel->name,
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT,
- pos_args,
+ pos_comment,
IRC_COLOR_CHAT_DELIMITERS);
}
else
@@ -1432,7 +1116,7 @@ irc_protocol_cmd_part (struct t_irc_server *server, char *irc_message, char *hos
nick,
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_HOST,
- (pos) ? pos + 1 : "",
+ host,
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_CHANNEL,
@@ -1489,26 +1173,23 @@ irc_protocol_cmd_part (struct t_irc_server *server, char *irc_message, char *hos
*/
int
-irc_protocol_cmd_ping (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_ping (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos;
+ /* PING message looks like:
+ PING :server
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(2);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
+ (void) argv_eol;
(void) ignore;
(void) highlight;
-
- if (arguments[0] == ':')
- arguments++;
-
- pos = strrchr (arguments, ' ');
- if (pos)
- pos[0] = '\0';
- irc_server_sendf (server, "PONG :%s", arguments);
+ irc_server_sendf (server, "PONG :%s",
+ (argv[1][0] == ':') ? argv[1] + 1 : argv[1]);
return WEECHAT_RC_OK;
}
@@ -1518,17 +1199,18 @@ irc_protocol_cmd_ping (struct t_irc_server *server, char *irc_message, char *hos
*/
int
-irc_protocol_cmd_pong (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_pong (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
struct timeval tv;
int old_lag;
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
- (void) arguments;
+ (void) command;
+ (void) argc;
+ (void) argv;
+ (void) argv_eol;
(void) ignore;
(void) highlight;
@@ -1556,8 +1238,9 @@ irc_protocol_cmd_pong (struct t_irc_server *server, char *irc_message, char *hos
*/
void
-irc_protocol_reply_version (struct t_irc_server *server, struct t_irc_channel *channel,
- char *nick, char *message, int ignore)
+irc_protocol_reply_version (struct t_irc_server *server,
+ struct t_irc_channel *channel, char *nick,
+ char *message, char *str_version, int ignore)
{
char *pos, *version, *date;
struct t_gui_buffer *ptr_buffer;
@@ -1566,7 +1249,7 @@ irc_protocol_reply_version (struct t_irc_server *server, struct t_irc_channel *c
if (!ignore)
{
- pos = strchr (message, ' ');
+ pos = strchr (str_version, ' ');
if (pos)
{
while (pos[0] == ' ')
@@ -1576,7 +1259,7 @@ irc_protocol_reply_version (struct t_irc_server *server, struct t_irc_channel *c
else if (!pos[0])
pos = NULL;
}
-
+
version = weechat_info_get ("version");
date = weechat_info_get ("date");
if (version && date)
@@ -1588,7 +1271,9 @@ irc_protocol_reply_version (struct t_irc_server *server, struct t_irc_channel *c
if (pos)
{
weechat_printf (ptr_buffer,
- _("CTCP %sVERSION%s received from %s%s%s: %s"),
+ _("%sCTCP %sVERSION%s received from %s%s%s: "
+ "%s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_CHANNEL,
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_NICK,
@@ -1599,16 +1284,17 @@ irc_protocol_reply_version (struct t_irc_server *server, struct t_irc_channel *c
else
{
weechat_printf (ptr_buffer,
- _("CTCP %sVERSION%s received from %s%s"),
+ _("%sCTCP %sVERSION%s received from %s%s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_CHANNEL,
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_NICK,
nick);
}
}
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_ctcp",
- // irc_message);
+ weechat_hook_signal_send ("irc_ctcp",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ message);
}
}
@@ -1617,304 +1303,325 @@ irc_protocol_reply_version (struct t_irc_server *server, struct t_irc_channel *c
*/
int
-irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_privmsg (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos, *pos2, *host2;
- char *pos_file, *pos_addr, *pos_port, *pos_size, *pos_start_resume; /* for DCC */
+ char *nick, *host, *pos_args, *pos_end_01, *pos, *pos_message;
+ char *dcc_args, *pos_file, *pos_addr, *pos_port, *pos_size, *pos_start_resume; /* for DCC */
struct t_irc_channel *ptr_channel;
struct t_irc_nick *ptr_nick;
int highlight_displayed, look_infobar_delay_highlight;
+
+ /* PRIVMSG message looks like:
+ :nick!user@host PRIVMSG #channel :message for channel here
+ :nick!user@host PRIVMSG mynick :message for private here
+ :nick!user@host PRIVMSG #channel :ACTION is testing action
+ :nick!user@host PRIVMSG mynick :ACTION is testing action
+ :nick!user@host PRIVMSG mynick :\01DCC SEND file.txt 1488915698 50612 128\01
+ */
- /* make C compiler happy */
- (void) irc_message;
-
- /* no host => we can't identify sender of message! */
- if (!host)
- {
- weechat_printf (server->buffer,
- _("%s%s: \"%s\" command received without host"),
- weechat_prefix ("error"), "irc", "privmsg");
- return WEECHAT_RC_ERROR;
- }
+ IRC_PROTOCOL_MIN_ARGS(4);
+ IRC_PROTOCOL_CHECK_HOST;
look_infobar_delay_highlight = weechat_config_integer (
weechat_config_get_weechat ("look_infobar_delay_highlight"));
- pos = strchr (host, '!');
- if (pos)
- host2 = pos + 1;
- else
- host2 = host;
+ nick = irc_protocol_get_nick_from_host (argv[0]);
+ host = irc_protocol_get_address_from_host (argv[0]);
+
+ pos_args = (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3];
/* receiver is a channel ? */
- if (irc_channel_is_channel (arguments))
+ if (irc_channel_is_channel (argv[2]))
{
- pos = strchr (arguments, ' ');
- if (pos)
+ ptr_channel = irc_channel_search (server, argv[2]);
+ if (ptr_channel)
{
- pos[0] = '\0';
- pos++;
- while (pos[0] == ' ')
- pos++;
- if (pos[0] == ':')
- pos++;
-
- ptr_channel = irc_channel_search (server, arguments);
- if (ptr_channel)
+ if (strncmp (pos_args, "\01ACTION ", 8) == 0)
{
- if (strncmp (pos, "\01ACTION ", 8) == 0)
+ if (!ignore)
{
- pos += 8;
- pos2 = strchr (pos, '\01');
- if (pos2)
- pos2[0] = '\0';
- if (!ignore)
+ pos_args += 8;
+ pos_end_01 = strchr (pos_args, '\01');
+ if (pos_end_01)
+ pos_end_01[0] = '\0';
+
+ if (highlight
+ || irc_protocol_is_highlight (pos_args, server->nick))
{
- if (highlight
- || irc_protocol_is_highlight (pos, server->nick))
- {
- weechat_printf (ptr_channel->buffer,
- "%s%s%s %s%s",
- weechat_prefix ("action"),
- IRC_COLOR_CHAT_HIGHLIGHT,
- nick,
- IRC_COLOR_CHAT,
- pos);
- if ((look_infobar_delay_highlight > 0)
- && (ptr_channel->buffer != weechat_current_buffer))
- weechat_infobar_printf (look_infobar_delay_highlight,
- "color_infobar_highlight",
- _("Channel %s: * %s %s"),
- ptr_channel->name,
- nick,
- pos);
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_highlight",
- // irc_message);
- }
- else
- {
- weechat_printf (ptr_channel->buffer,
- "%s%s%s %s%s",
- weechat_prefix ("action"),
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- pos);
- }
- irc_channel_add_nick_speaking (ptr_channel, nick);
+ weechat_printf (ptr_channel->buffer,
+ "%s%s%s %s%s",
+ weechat_prefix ("action"),
+ IRC_COLOR_CHAT_HIGHLIGHT,
+ nick,
+ IRC_COLOR_CHAT,
+ pos_args);
+ if ((look_infobar_delay_highlight > 0)
+ && (ptr_channel->buffer != weechat_current_buffer))
+ weechat_infobar_printf (look_infobar_delay_highlight,
+ "color_infobar_highlight",
+ _("Channel %s: * %s %s"),
+ ptr_channel->name,
+ nick,
+ pos_args);
+ weechat_hook_signal_send ("irc_highlight",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
}
- return WEECHAT_RC_OK;
- }
- if (strncmp (pos, "\01SOUND ", 7) == 0)
- {
- pos += 7;
- pos2 = strchr (pos, '\01');
- if (pos2)
- pos2[0] = '\0';
- if (!ignore)
+ else
{
weechat_printf (ptr_channel->buffer,
- _("Received a CTCP %sSOUND%s \"%s\" "
- "from %s%s"),
- IRC_COLOR_CHAT_CHANNEL,
- IRC_COLOR_CHAT,
- pos,
+ "%s%s%s %s%s",
+ weechat_prefix ("action"),
IRC_COLOR_CHAT_NICK,
- nick);
+ nick,
+ IRC_COLOR_CHAT,
+ pos_args);
}
- return WEECHAT_RC_OK;
+ irc_channel_add_nick_speaking (ptr_channel, nick);
+
+ if (pos_end_01)
+ pos_end_01[0] = '\01';
}
- if (strncmp (pos, "\01PING", 5) == 0)
+ return WEECHAT_RC_OK;
+ }
+ if (strncmp (pos_args, "\01SOUND ", 7) == 0)
+ {
+ if (!ignore)
{
- pos += 5;
- while (pos[0] == ' ')
- pos++;
- pos2 = strchr (pos, '\01');
- if (pos2)
- pos2[0] = '\0';
- else
- pos = NULL;
- if (pos && !pos[0])
- pos = NULL;
- if (pos)
- irc_server_sendf (server, "NOTICE %s :\01PING %s\01",
- nick, pos);
- else
- irc_server_sendf (server, "NOTICE %s :\01PING\01",
- nick);
+ pos_args += 7;
+ pos_end_01 = strchr (pos_args, '\01');
+ if (pos_end_01)
+ pos_end_01[0] = '\0';
+
weechat_printf (ptr_channel->buffer,
- _("CTCP %sPING%s received from %s%s"),
+ _("%sReceived a CTCP %sSOUND%s \"%s\" "
+ "from %s%s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_CHANNEL,
IRC_COLOR_CHAT,
+ pos_args,
IRC_COLOR_CHAT_NICK,
nick);
- return WEECHAT_RC_OK;
+
+ if (pos_end_01)
+ pos_end_01[0] = '\01';
}
- if (strncmp (pos, "\01VERSION", 8) == 0)
+ return WEECHAT_RC_OK;
+ }
+ if (strncmp (pos_args, "\01PING", 5) == 0)
+ {
+ pos_args += 5;
+ while (pos_args[0] == ' ')
+ pos_args++;
+ pos_end_01 = strchr (pos_args, '\01');
+ if (pos_end_01)
+ pos_end_01[0] = '\0';
+ else
+ pos_args = NULL;
+ if (pos_args && !pos_args[0])
+ pos_args = NULL;
+ if (pos_args)
+ irc_server_sendf (server, "NOTICE %s :\01PING %s\01",
+ nick, pos_args);
+ else
+ irc_server_sendf (server, "NOTICE %s :\01PING\01",
+ nick);
+ weechat_printf (ptr_channel->buffer,
+ _("%sCTCP %sPING%s received from %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ nick);
+ if (pos_end_01)
+ pos_end_01[0] = '\01';
+ return WEECHAT_RC_OK;
+ }
+ if (strncmp (pos_args, "\01VERSION", 8) == 0)
+ {
+ if (!ignore)
{
irc_protocol_reply_version (server, ptr_channel, nick,
- pos, ignore);
- return WEECHAT_RC_OK;
+ argv_eol[0], pos_args, ignore);
}
-
- /* unknown CTCP ? */
- pos2 = strchr (pos + 1, '\01');
- if ((pos[0] == '\01') && pos2 && (pos2[1] == '\0'))
+ return WEECHAT_RC_OK;
+ }
+
+ /* unknown CTCP ? */
+ pos_end_01 = strchr (pos_args + 1, '\01');
+ if ((pos_args[0] == '\01')
+ && pos_end_01 && (pos_end_01[1] == '\0'))
+ {
+ if (!ignore)
{
- pos++;
- pos2[0] = '\0';
- pos2 = strchr (pos, ' ');
- if (pos2)
- {
- pos2[0] = '\0';
- pos2++;
- while (pos2[0] == ' ')
- pos2++;
- if (!pos2[0])
- pos2 = NULL;
- }
- if (!ignore)
+ pos_args++;
+ pos_end_01[0] = '\0';
+ pos = strchr (pos_args, ' ');
+ if (pos)
{
- if (pos2)
- {
- weechat_printf (ptr_channel->buffer,
- _("Unknown CTCP %s%s%s received "
- "from %s%s%s: %s"),
- IRC_COLOR_CHAT_CHANNEL,
- pos,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- pos2);
- }
- else
+ pos[0] = '\0';
+ pos_message = pos + 1;
+ while (pos_message[0] == ' ')
{
- weechat_printf (ptr_channel->buffer,
- _("Unknown CTCP %s%s%s "
- "received from %s%s"),
- IRC_COLOR_CHAT_CHANNEL,
- pos,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- nick);
+ pos_message++;
}
+ if (!pos_message[0])
+ pos_message = NULL;
}
- return WEECHAT_RC_OK;
- }
-
- /* other message */
- if (!ignore)
- {
- ptr_nick = irc_nick_search (ptr_channel, nick);
- if (highlight || irc_protocol_is_highlight (pos, server->nick))
+ else
+ pos_message = NULL;
+
+ if (pos_message)
{
weechat_printf (ptr_channel->buffer,
- "%s%s",
- irc_nick_as_prefix (ptr_nick,
- (ptr_nick) ? NULL : nick,
- IRC_COLOR_CHAT_HIGHLIGHT),
- pos);
- if ((look_infobar_delay_highlight > 0)
- && (ptr_channel->buffer != weechat_current_buffer))
- weechat_infobar_printf (look_infobar_delay_highlight,
- "color_infobar_highlight",
- _("Channel %s: %s> %s"),
- ptr_channel->name,
- nick,
- pos);
- weechat_buffer_set (ptr_channel->buffer, "hotlist",
- WEECHAT_HOTLIST_HIGHLIGHT);
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_highlight",
- // irc_message);
+ _("%sUnknown CTCP %s%s%s received "
+ "from %s%s%s: %s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ pos_args,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ nick,
+ IRC_COLOR_CHAT,
+ pos_message);
}
else
{
weechat_printf (ptr_channel->buffer,
- "%s%s",
- irc_nick_as_prefix (ptr_nick,
- (ptr_nick) ? NULL : nick,
- NULL),
- pos);
- weechat_buffer_set (ptr_channel->buffer, "hotlist",
- WEECHAT_HOTLIST_MESSAGE);
+ _("%sUnknown CTCP %s%s%s "
+ "received from %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ pos_args,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ nick);
}
- irc_channel_add_nick_speaking (ptr_channel, nick);
+ if (pos_end_01)
+ pos_end_01[0] = '\01';
+ if (pos)
+ pos[0] = ' ';
+
+ weechat_hook_signal_send ("irc_ctcp",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
}
+ return WEECHAT_RC_OK;
}
- else
+
+ /* other message */
+ if (!ignore)
{
- weechat_printf (server->buffer,
- _("%s%s: channel \"%s\" not found for \"%s\" "
- "command"),
- weechat_prefix ("error"), "irc",
- arguments, "privmsg");
- return WEECHAT_RC_ERROR;
+ ptr_nick = irc_nick_search (ptr_channel, nick);
+ if (highlight
+ || irc_protocol_is_highlight (pos_args, server->nick))
+ {
+ weechat_printf (ptr_channel->buffer,
+ "%s%s",
+ irc_nick_as_prefix (ptr_nick,
+ (ptr_nick) ? NULL : nick,
+ IRC_COLOR_CHAT_HIGHLIGHT),
+ pos_args);
+ if ((look_infobar_delay_highlight > 0)
+ && (ptr_channel->buffer != weechat_current_buffer))
+ weechat_infobar_printf (look_infobar_delay_highlight,
+ "color_infobar_highlight",
+ _("Channel %s: %s> %s"),
+ ptr_channel->name,
+ nick,
+ pos_args);
+ weechat_buffer_set (ptr_channel->buffer, "hotlist",
+ WEECHAT_HOTLIST_HIGHLIGHT);
+ weechat_hook_signal_send ("irc_highlight",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+ }
+ else
+ {
+ weechat_printf (ptr_channel->buffer,
+ "%s%s",
+ irc_nick_as_prefix (ptr_nick,
+ (ptr_nick) ? NULL : nick,
+ NULL),
+ pos_args);
+ weechat_buffer_set (ptr_channel->buffer, "hotlist",
+ WEECHAT_HOTLIST_MESSAGE);
+ }
+ irc_channel_add_nick_speaking (ptr_channel, nick);
}
}
+ else
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: channel \"%s\" not found for \"%s\" "
+ "command"),
+ weechat_prefix ("error"), "irc",
+ argv[2], "privmsg");
+ return WEECHAT_RC_ERROR;
+ }
}
else
{
- pos = strchr (arguments, ' ');
- if (pos)
+ /* version asked by another user => answer with WeeChat version */
+ if (strncmp (pos_args, "\01VERSION", 8) == 0)
{
- pos[0] = '\0';
- pos++;
- while (pos[0] == ' ')
- pos++;
- if (pos[0] == ':')
- pos++;
-
- /* version asked by another user => answer with WeeChat version */
- if (strncmp (pos, "\01VERSION", 8) == 0)
+ if (!ignore)
{
- irc_protocol_reply_version (server, NULL, nick, pos, ignore);
- return WEECHAT_RC_OK;
+ irc_protocol_reply_version (server, NULL, nick, argv_eol[0],
+ pos_args, ignore);
}
+ return WEECHAT_RC_OK;
+ }
- /* ping request from another user => answer */
- if (strncmp (pos, "\01PING", 5) == 0)
+ /* ping request from another user => answer */
+ if (strncmp (pos_args, "\01PING", 5) == 0)
+ {
+ if (!ignore)
{
- if (!ignore)
+ pos_args += 5;
+ while (pos_args[0] == ' ')
{
- pos += 5;
- while (pos[0] == ' ')
- pos++;
- pos2 = strchr (pos, '\01');
- if (pos2)
- pos2[0] = '\0';
- else
- pos = NULL;
- if (pos && !pos[0])
- pos = NULL;
- if (pos)
- irc_server_sendf (server, "NOTICE %s :\01PING %s\01",
- nick, pos);
- else
- irc_server_sendf (server, "NOTICE %s :\01PING\01",
- nick);
- weechat_printf (server->buffer,
- _("CTCP %sPING%s received from %s%s"),
- IRC_COLOR_CHAT_CHANNEL,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- nick);
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_ctcp",
- // irc_message);
+ pos_args++;
}
- return WEECHAT_RC_OK;
+ pos_end_01 = strchr (pos, '\01');
+ if (pos_end_01)
+ pos_end_01[0] = '\0';
+ else
+ pos_args = NULL;
+ if (pos_args && !pos_args[0])
+ pos_args = NULL;
+ if (pos_args)
+ irc_server_sendf (server, "NOTICE %s :\01PING %s\01",
+ nick, pos_args);
+ else
+ irc_server_sendf (server, "NOTICE %s :\01PING\01",
+ nick);
+ weechat_printf (server->buffer,
+ _("%sCTCP %sPING%s received from %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ nick);
+ weechat_hook_signal_send ("irc_ctcp",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+ if (pos_end_01)
+ pos_end_01[0] = '\01';
}
+ return WEECHAT_RC_OK;
+ }
- /* incoming DCC file */
- if (strncmp (pos, "\01DCC SEND", 9) == 0)
+ /* incoming DCC file */
+ if (strncmp (pos_args, "\01DCC SEND", 9) == 0)
+ {
+ if (!ignore)
{
/* check if DCC SEND is ok, i.e. with 0x01 at end */
- pos2 = strchr (pos + 1, '\01');
- if (!pos2)
+ pos_end_01 = strchr (pos_args + 1, '\01');
+ if (!pos_end_01)
{
weechat_printf (server->buffer,
_("%s%s: cannot parse \"%s\" command"),
@@ -1922,80 +1629,107 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *
"privmsg");
return WEECHAT_RC_ERROR;
}
- pos2[0] = '\0';
- if (!ignore)
+ pos_end_01[0] = '\0';
+ dcc_args = strdup (pos_args + 9);
+ pos_end_01[0] = '\01';
+
+ if (!dcc_args)
{
- /* DCC filename */
- pos_file = pos + 9;
- while (pos_file[0] == ' ')
- pos_file++;
-
- /* look for file size */
- pos_size = strrchr (pos_file, ' ');
- if (!pos_size)
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc",
- "privmsg");
- return WEECHAT_RC_ERROR;
- }
- pos2 = pos_size;
- pos_size++;
- while (pos2[0] == ' ')
- pos2--;
- pos2[1] = '\0';
-
- /* look for DCC port */
- pos_port = strrchr (pos_file, ' ');
- if (!pos_port)
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc",
- "privmsg");
- return WEECHAT_RC_ERROR;
- }
- pos2 = pos_port;
- pos_port++;
- while (pos2[0] == ' ')
- pos2--;
- pos2[1] = '\0';
-
- /* look for DCC IP address */
- pos_addr = strrchr (pos_file, ' ');
- if (!pos_addr)
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc",
- "privmsg");
- return WEECHAT_RC_ERROR;
- }
- pos2 = pos_addr;
- pos_addr++;
- while (pos2[0] == ' ')
- pos2--;
- pos2[1] = '\0';
-
- //irc_dcc_add (server, IRC_DCC_FILE_RECV,
- // strtoul (pos_addr, NULL, 10),
- // atoi (pos_port), nick, -1, pos_file, NULL,
- // strtoul (pos_size, NULL, 10));
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_dcc",
- // irc_message);
+ weechat_printf (server->buffer,
+ _("%s%s: not enough memory for \"%s\" "
+ "command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ return WEECHAT_RC_ERROR;
}
- return WEECHAT_RC_OK;
+
+ /* DCC filename */
+ pos_file = dcc_args;
+ while (pos_file[0] == ' ')
+ {
+ pos_file++;
+ }
+
+ /* look for file size */
+ pos_size = strrchr (pos_file, ' ');
+ if (!pos_size)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos = pos_size;
+ pos_size++;
+ while (pos[0] == ' ')
+ {
+ pos--;
+ }
+ pos[1] = '\0';
+
+ /* look for DCC port */
+ pos_port = strrchr (pos_file, ' ');
+ if (!pos_port)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos = pos_port;
+ pos_port++;
+ while (pos[0] == ' ')
+ {
+ pos--;
+ }
+ pos[1] = '\0';
+
+ /* look for DCC IP address */
+ pos_addr = strrchr (pos_file, ' ');
+ if (!pos_addr)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos = pos_addr;
+ pos_addr++;
+ while (pos[0] == ' ')
+ {
+ pos--;
+ }
+ pos[1] = '\0';
+
+ //irc_dcc_add (server, IRC_DCC_FILE_RECV,
+ // strtoul (pos_addr, NULL, 10),
+ // atoi (pos_port), nick, -1, pos_file, NULL,
+ // strtoul (pos_size, NULL, 10));
+
+ weechat_hook_signal_send ("irc_dcc",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+
+ free (dcc_args);
}
-
- /* incoming DCC RESUME (asked by receiver) */
- if (strncmp (pos, "\01DCC RESUME", 11) == 0)
+ return WEECHAT_RC_OK;
+ }
+
+ /* incoming DCC RESUME (asked by receiver) */
+ if (strncmp (pos_args, "\01DCC RESUME", 11) == 0)
+ {
+ if (!ignore)
{
/* check if DCC RESUME is ok, i.e. with 0x01 at end */
- pos2 = strchr (pos + 1, '\01');
- if (!pos2)
+ pos_end_01 = strchr (pos_args + 1, '\01');
+ if (!pos_end_01)
{
weechat_printf (server->buffer,
_("%s%s: cannot parse \"%s\" command"),
@@ -2003,62 +1737,86 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *
"privmsg");
return WEECHAT_RC_ERROR;
}
- pos2[0] = '\0';
- if (!ignore)
+ pos_end_01[0] = '\0';
+ dcc_args = strdup (pos_args + 11);
+ pos_end_01[0] = '\01';
+
+ if (!dcc_args)
{
- /* DCC filename */
- pos_file = pos + 11;
- while (pos_file[0] == ' ')
- pos_file++;
-
- /* look for resume start position */
- pos_start_resume = strrchr (pos_file, ' ');
- if (!pos_start_resume)
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc",
- "privmsg");
- return WEECHAT_RC_ERROR;
- }
- pos2 = pos_start_resume;
- pos_start_resume++;
- while (pos2[0] == ' ')
- pos2--;
- pos2[1] = '\0';
-
- /* look for DCC port */
- pos_port = strrchr (pos_file, ' ');
- if (!pos_port)
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc",
- "privmsg");
- return WEECHAT_RC_ERROR;
- }
- pos2 = pos_port;
- pos_port++;
- while (pos2[0] == ' ')
- pos2--;
- pos2[1] = '\0';
-
- //irc_dcc_accept_resume (server, pos_file, atoi (pos_port),
- // strtoul (pos_start_resume, NULL, 10));
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_dcc",
- // irc_message);
+ weechat_printf (server->buffer,
+ _("%s%s: not enough memory for \"%s\" "
+ "command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ return WEECHAT_RC_ERROR;
}
- return WEECHAT_RC_OK;
+
+ /* DCC filename */
+ pos_file = dcc_args;
+ while (pos_file[0] == ' ')
+ {
+ pos_file++;
+ }
+
+ /* look for resume start position */
+ pos_start_resume = strrchr (pos_file, ' ');
+ if (!pos_start_resume)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos = pos_start_resume;
+ pos_start_resume++;
+ while (pos[0] == ' ')
+ {
+ pos--;
+ }
+ pos[1] = '\0';
+
+ /* look for DCC port */
+ pos_port = strrchr (pos_file, ' ');
+ if (!pos_port)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos = pos_port;
+ pos_port++;
+ while (pos[0] == ' ')
+ {
+ pos--;
+ }
+ pos[1] = '\0';
+
+ //irc_dcc_accept_resume (server, pos_file, atoi (pos_port),
+ // strtoul (pos_start_resume, NULL, 10));
+
+ weechat_hook_signal_send ("irc_dcc",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+
+ free (dcc_args);
}
+ return WEECHAT_RC_OK;
+ }
- /* incoming DCC ACCEPT (resume accepted by sender) */
- if (strncmp (pos, "\01DCC ACCEPT", 11) == 0)
+ /* incoming DCC ACCEPT (resume accepted by sender) */
+ if (strncmp (pos, "\01DCC ACCEPT", 11) == 0)
+ {
+ if (!ignore)
{
/* check if DCC ACCEPT is ok, i.e. with 0x01 at end */
- pos2 = strchr (pos + 1, '\01');
- if (!pos2)
+ pos_end_01 = strchr (pos_args + 1, '\01');
+ if (!pos_end_01)
{
weechat_printf (server->buffer,
_("%s%s: cannot parse \"%s\" command"),
@@ -2066,62 +1824,86 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *
"privmsg");
return WEECHAT_RC_ERROR;
}
- pos2[0] = '\0';
- if (!ignore)
+ pos_end_01[0] = '\0';
+ dcc_args = strdup (pos_args + 11);
+ pos_end_01[0] = '\01';
+
+ if (!dcc_args)
{
- /* DCC filename */
- pos_file = pos + 11;
- while (pos_file[0] == ' ')
- pos_file++;
-
- /* look for resume start position */
- pos_start_resume = strrchr (pos_file, ' ');
- if (!pos_start_resume)
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc",
- "privmsg");
- return WEECHAT_RC_ERROR;
- }
- pos2 = pos_start_resume;
- pos_start_resume++;
- while (pos2[0] == ' ')
- pos2--;
- pos2[1] = '\0';
-
- /* look for DCC port */
- pos_port = strrchr (pos_file, ' ');
- if (!pos_port)
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc",
- "privmsg");
- return WEECHAT_RC_ERROR;
- }
- pos2 = pos_port;
- pos_port++;
- while (pos2[0] == ' ')
- pos2--;
- pos2[1] = '\0';
-
- //irc_dcc_start_resume (server, pos_file, atoi (pos_port),
- // strtoul (pos_start_resume, NULL, 10));
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_dcc",
- // irc_message);
+ weechat_printf (server->buffer,
+ _("%s%s: not enough memory for \"%s\" "
+ "command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ return WEECHAT_RC_ERROR;
}
- return WEECHAT_RC_OK;
+
+ /* DCC filename */
+ pos_file = dcc_args;
+ while (pos_file[0] == ' ')
+ {
+ pos_file++;
+ }
+
+ /* look for resume start position */
+ pos_start_resume = strrchr (pos_file, ' ');
+ if (!pos_start_resume)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos = pos_start_resume;
+ pos_start_resume++;
+ while (pos[0] == ' ')
+ {
+ pos--;
+ }
+ pos[1] = '\0';
+
+ /* look for DCC port */
+ pos_port = strrchr (pos_file, ' ');
+ if (!pos_port)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos = pos_port;
+ pos_port++;
+ while (pos[0] == ' ')
+ {
+ pos--;
+ }
+ pos[1] = '\0';
+
+ //irc_dcc_start_resume (server, pos_file, atoi (pos_port),
+ // strtoul (pos_start_resume, NULL, 10));
+
+ weechat_hook_signal_send ("irc_dcc",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+
+ free (dcc_args);
}
+ return WEECHAT_RC_OK;
+ }
- /* incoming DCC CHAT */
- if (strncmp (pos, "\01DCC CHAT", 9) == 0)
+ /* incoming DCC CHAT */
+ if (strncmp (pos, "\01DCC CHAT", 9) == 0)
+ {
+ if (!ignore)
{
/* check if DCC CHAT is ok, i.e. with 0x01 at end */
- pos2 = strchr (pos + 1, '\01');
- if (!pos2)
+ pos_end_01 = strchr (pos_args + 1, '\01');
+ if (!pos_end_01)
{
weechat_printf (server->buffer,
_("%s%s: cannot parse \"%s\" command"),
@@ -2129,73 +1911,234 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *
"privmsg");
return WEECHAT_RC_ERROR;
}
- pos2[0] = '\0';
- if (!ignore)
+ pos_end_01[0] = '\0';
+ dcc_args = strdup (pos_args + 9);
+ pos_end_01[0] = '\01';
+
+ if (!dcc_args)
{
- /* CHAT type */
- pos_file = pos + 9;
- while (pos_file[0] == ' ')
- pos_file++;
-
- /* DCC IP address */
- pos_addr = strchr (pos_file, ' ');
- if (!pos_addr)
+ weechat_printf (server->buffer,
+ _("%s%s: not enough memory for \"%s\" "
+ "command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ return WEECHAT_RC_ERROR;
+ }
+
+ /* CHAT type */
+ pos_file = dcc_args;
+ while (pos_file[0] == ' ')
+ {
+ pos_file++;
+ }
+
+ /* DCC IP address */
+ pos_addr = strchr (pos_file, ' ');
+ if (!pos_addr)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos_addr[0] = '\0';
+ pos_addr++;
+ while (pos_addr[0] == ' ')
+ {
+ pos_addr++;
+ }
+
+ /* look for DCC port */
+ pos_port = strchr (pos_addr, ' ');
+ if (!pos_port)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot parse \"%s\" command"),
+ weechat_prefix ("error"), "irc",
+ "privmsg");
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+ pos_port[0] = '\0';
+ pos_port++;
+ while (pos_port[0] == ' ')
+ {
+ pos_port++;
+ }
+
+ if (weechat_strcasecmp (pos_file, "chat") != 0)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: unknown DCC CHAT type "
+ "received from %s%s%s: \"%s\""),
+ weechat_prefix ("error"), "irc",
+ IRC_COLOR_CHAT_NICK,
+ nick,
+ IRC_COLOR_CHAT,
+ pos_file);
+ free (dcc_args);
+ return WEECHAT_RC_ERROR;
+ }
+
+ //irc_dcc_add (server, IRC_DCC_CHAT_RECV,
+ // strtoul (pos_addr, NULL, 10),
+ // atoi (pos_port), nick, -1, NULL, NULL, 0);
+
+ weechat_hook_signal_send ("irc_dcc",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+
+ free (dcc_args);
+ }
+ return WEECHAT_RC_OK;
+ }
+
+ /* private message received => display it */
+ ptr_channel = irc_channel_search (server, nick);
+
+ if (strncmp (pos, "\01ACTION ", 8) == 0)
+ {
+ if (!ignore)
+ {
+ if (!ptr_channel)
+ {
+ ptr_channel = irc_channel_new (server,
+ IRC_CHANNEL_TYPE_PRIVATE,
+ nick, 0);
+ if (!ptr_channel)
{
weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
+ _("%s%s: cannot create new "
+ "private buffer \"%s\""),
weechat_prefix ("error"), "irc",
- "privmsg");
+ nick);
return WEECHAT_RC_ERROR;
}
- pos_addr[0] = '\0';
- pos_addr++;
- while (pos_addr[0] == ' ')
- pos_addr++;
+ }
+ if (!ptr_channel->topic)
+ {
+ ptr_channel->topic = strdup (host);
+ weechat_buffer_set (ptr_channel->buffer,
+ "title", ptr_channel->topic);
+ }
- /* look for DCC port */
- pos_port = strchr (pos_addr, ' ');
- if (!pos_port)
+ pos_args += 8;
+ pos_end_01 = strchr (pos, '\01');
+ if (pos_end_01)
+ pos_end_01[0] = '\0';
+ if (highlight
+ || irc_protocol_is_highlight (pos_args, server->nick))
+ {
+ weechat_printf (ptr_channel->buffer,
+ "%s%s%s %s%s",
+ weechat_prefix ("action"),
+ IRC_COLOR_CHAT_HIGHLIGHT,
+ nick,
+ IRC_COLOR_CHAT,
+ pos_args);
+ if ((look_infobar_delay_highlight > 0)
+ && (ptr_channel->buffer != weechat_current_buffer))
{
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc",
- "privmsg");
- return WEECHAT_RC_ERROR;
+ weechat_infobar_printf (look_infobar_delay_highlight,
+ "look_infobar_highlight",
+ _("Channel %s: * %s %s"),
+ ptr_channel->name,
+ nick, pos);
}
- pos_port[0] = '\0';
- pos_port++;
- while (pos_port[0] == ' ')
- pos_port++;
+ weechat_hook_signal_send ("irc_highlight",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+ weechat_buffer_set (ptr_channel->buffer, "hotlist",
+ WEECHAT_HOTLIST_HIGHLIGHT);
+ }
+ else
+ {
+ weechat_printf (ptr_channel->buffer,
+ "%s%s%s %s%s",
+ weechat_prefix ("action"),
+ IRC_COLOR_CHAT_NICK,
+ nick,
+ IRC_COLOR_CHAT,
+ pos_args);
+ weechat_hook_signal_send ("irc_pv",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+ weechat_buffer_set (ptr_channel->buffer, "hotlist",
+ WEECHAT_HOTLIST_MESSAGE);
+ }
+ if (pos_end_01)
+ pos_end_01[0] = '\01';
+ }
+ }
+ else
+ {
+ /* unknown CTCP ? */
+ pos_end_01 = strchr (pos_args + 1, '\01');
+ if ((pos_args[0] == '\01')
+ && pos_end_01 && (pos_end_01[1] == '\0'))
+ {
+ if (!ignore)
+ {
+ pos_args++;
+ pos_end_01[0] = '\0';
+ pos = strchr (pos_args, ' ');
+ if (pos)
+ {
+ pos[0] = '\0';
+ pos_message = pos + 1;
+ while (pos_message[0] == ' ')
+ {
+ pos_message++;
+ }
+ if (!pos_message[0])
+ pos_message = NULL;
+ }
+ else
+ pos_message = NULL;
- if (weechat_strcasecmp (pos_file, "chat") != 0)
+ if (pos_message)
{
weechat_printf (server->buffer,
- _("%s%s: unknown DCC CHAT type "
- "received from %s%s%s: \"%s\""),
- weechat_prefix ("error"), "irc",
+ _("%sUnknown CTCP %s%s%s received "
+ "from %s%s%s: %s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ pos_args,
+ IRC_COLOR_CHAT,
IRC_COLOR_CHAT_NICK,
nick,
IRC_COLOR_CHAT,
- pos_file);
- return WEECHAT_RC_ERROR;
+ pos_message);
+ }
+ else
+ {
+ weechat_printf (server->buffer,
+ _("%sUnknown CTCP %s%s%s received "
+ "from %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ pos_args,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ nick);
}
+ if (pos_end_01)
+ pos_end_01[0] = '\01';
+ if (pos)
+ pos[0] = ' ';
- //irc_dcc_add (server, IRC_DCC_CHAT_RECV,
- // strtoul (pos_addr, NULL, 10),
- // atoi (pos_port), nick, -1, NULL, NULL, 0);
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_dcc",
- // irc_message);
+ weechat_hook_signal_send ("irc_ctcp",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
}
return WEECHAT_RC_OK;
}
-
- /* private message received => display it */
- ptr_channel = irc_channel_search (server, nick);
-
- if (strncmp (pos, "\01ACTION ", 8) == 0)
+ else
{
+ /* private message */
if (!ignore)
{
if (!ptr_channel)
@@ -2208,180 +2151,61 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *
weechat_printf (server->buffer,
_("%s%s: cannot create new "
"private buffer \"%s\""),
- weechat_prefix ("error"), "irc",
- nick);
+ weechat_prefix ("error"),
+ "irc", nick);
return WEECHAT_RC_ERROR;
}
}
- if (!ptr_channel->topic)
- {
- ptr_channel->topic = strdup (host2);
- //gui_chat_draw_title (ptr_channel->buffer, 1);
- }
+ if (ptr_channel->topic)
+ free (ptr_channel->topic);
+ ptr_channel->topic = strdup (host);
+ weechat_buffer_set (ptr_channel->buffer, "title",
+ ptr_channel->topic);
- pos += 8;
- pos2 = strchr (pos, '\01');
- if (pos2)
- pos2[0] = '\0';
- if (highlight || irc_protocol_is_highlight (pos, server->nick))
+ if (highlight
+ || irc_protocol_is_highlight (pos, server->nick))
{
weechat_printf (ptr_channel->buffer,
- "%s%s%s %s%s",
- weechat_prefix ("action"),
- IRC_COLOR_CHAT_HIGHLIGHT,
- nick,
- IRC_COLOR_CHAT,
- pos);
+ "%s%s",
+ irc_nick_as_prefix (NULL,
+ nick,
+ IRC_COLOR_CHAT_HIGHLIGHT),
+ pos_args);
if ((look_infobar_delay_highlight > 0)
&& (ptr_channel->buffer != weechat_current_buffer))
weechat_infobar_printf (look_infobar_delay_highlight,
- "look_infobar_highlight",
- _("Channel %s: * %s %s"),
- ptr_channel->name,
- nick, pos);
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_highlight",
- // irc_message);
- weechat_buffer_set (ptr_channel->buffer, "hotlist",
- WEECHAT_HOTLIST_HIGHLIGHT);
+ "color_infobar_highlight",
+ _("Private %s> %s"),
+ nick, pos_args);
+ highlight_displayed = 1;
}
else
{
weechat_printf (ptr_channel->buffer,
- "%s%s%s %s%s",
- weechat_prefix ("action"),
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- pos);
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_pv",
- // irc_message);
- weechat_buffer_set (ptr_channel->buffer, "hotlist",
- WEECHAT_HOTLIST_MESSAGE);
- }
- }
- }
- else
- {
- /* unknown CTCP ? */
- pos2 = strchr (pos + 1, '\01');
- if ((pos[0] == '\01') && pos2 && (pos2[1] == '\0'))
- {
- if (!ignore)
- {
- pos++;
- pos2[0] = '\0';
- pos2 = strchr (pos, ' ');
- if (pos2)
- {
- pos2[0] = '\0';
- pos2++;
- while (pos2[0] == ' ')
- pos2++;
- if (!pos2[0])
- pos2 = NULL;
- }
- if (pos2)
- {
- weechat_printf (server->buffer,
- _("Unknown CTCP %s%s%s received "
- "from %s%s%s: %s"),
- IRC_COLOR_CHAT_CHANNEL,
- pos,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT,
- pos2);
- }
- else
- {
- weechat_printf (server->buffer,
- _("Unknown CTCP %s%s%s received "
- "from %s%s"),
- IRC_COLOR_CHAT_CHANNEL,
- pos,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_NICK,
- nick);
- }
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_ctcp",
- // irc_message);
+ "%s%s",
+ irc_nick_as_prefix (NULL,
+ nick,
+ IRC_COLOR_CHAT_NICK_OTHER),
+ pos_args);
+ highlight_displayed = 0;
}
- return WEECHAT_RC_OK;
- }
- else
- {
- if (!ignore)
+
+ weechat_hook_signal_send ("irc_pv",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
+
+ if (highlight_displayed)
{
- if (!ptr_channel)
- {
- ptr_channel = irc_channel_new (server,
- IRC_CHANNEL_TYPE_PRIVATE,
- nick, 0);
- if (!ptr_channel)
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot create new "
- "private buffer \"%s\""),
- weechat_prefix ("error"),
- "irc", nick);
- return WEECHAT_RC_ERROR;
- }
- }
- if (!ptr_channel->topic)
- {
- ptr_channel->topic = strdup (host2);
- weechat_buffer_set (ptr_channel->buffer, "title",
- ptr_channel->topic);
- }
-
- if (highlight || irc_protocol_is_highlight (pos, server->nick))
- {
- weechat_printf (ptr_channel->buffer,
- "%s%s",
- irc_nick_as_prefix (NULL,
- nick,
- IRC_COLOR_CHAT_HIGHLIGHT),
- pos);
- if ((look_infobar_delay_highlight > 0)
- && (ptr_channel->buffer != weechat_current_buffer))
- weechat_infobar_printf (look_infobar_delay_highlight,
- "color_infobar_highlight",
- _("Private %s> %s"),
- nick, pos);
- highlight_displayed = 1;
- }
- else
- {
- weechat_printf (ptr_channel->buffer,
- "%s%s",
- irc_nick_as_prefix (NULL,
- nick,
- IRC_COLOR_CHAT_NICK_OTHER),
- pos);
- highlight_displayed = 0;
- }
- //(void) plugin_msg_handler_exec (server->name,
- // "weechat_pv",
- // irc_message);
- //if (highlight_displayed)
- // (void) plugin_msg_handler_exec (server->name,
- // "weechat_highlight",
- // irc_message);
+ weechat_hook_signal_send ("irc_highlight",
+ WEECHAT_HOOK_SIGNAL_STRING,
+ argv_eol[0]);
}
+
+ weechat_buffer_set (ptr_channel->buffer,
+ "hotlist", WEECHAT_HOTLIST_PRIVATE);
}
}
}
- else
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc", "privmsg");
- return WEECHAT_RC_ERROR;
- }
}
return WEECHAT_RC_OK;
@@ -2392,28 +2216,29 @@ irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *
*/
int
-irc_protocol_cmd_quit (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_quit (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos;
+ char *nick, *host, *pos_comment;
struct t_irc_channel *ptr_channel;
struct t_irc_nick *ptr_nick;
+ /* QUIT message looks like:
+ :nick!user@host QUIT :quit message
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(2);
+ IRC_PROTOCOL_CHECK_HOST;
+
/* make C compiler happy */
- (void) irc_message;
(void) highlight;
- /* no host => we can't identify sender of message! */
- if (!host)
- {
- weechat_printf (server->buffer,
- _("%s%s: \"%s\" command received without host"),
- weechat_prefix ("error"), "irc", "quit");
- return WEECHAT_RC_ERROR;
- }
-
- if (arguments[0] == ':')
- arguments++;
+ nick = irc_protocol_get_nick_from_host (argv[0]);
+ host = irc_protocol_get_address_from_host (argv[0]);
+
+ pos_comment = (argc > 2) ?
+ ((argv_eol[2][0] == ':') ? argv_eol[2] + 1 : argv_eol[2]) : NULL;
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
@@ -2430,21 +2255,37 @@ irc_protocol_cmd_quit (struct t_irc_server *server, char *irc_message, char *hos
irc_nick_free (ptr_channel, ptr_nick);
if (!ignore)
{
- pos = strchr (host, '!');
- weechat_printf (ptr_channel->buffer,
- _("%s%s%s %s(%s%s%s)%s has quit %s(%s%s%s)"),
- weechat_prefix ("quit"),
- IRC_COLOR_CHAT_NICK,
- nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_HOST,
- (pos) ? pos + 1 : "",
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- arguments,
- IRC_COLOR_CHAT_DELIMITERS);
+ if (pos_comment && pos_comment[0])
+ {
+ weechat_printf (ptr_channel->buffer,
+ _("%s%s%s %s(%s%s%s)%s has quit "
+ "%s(%s%s%s)"),
+ weechat_prefix ("quit"),
+ IRC_COLOR_CHAT_NICK,
+ nick,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_HOST,
+ host,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ pos_comment,
+ IRC_COLOR_CHAT_DELIMITERS);
+ }
+ else
+ {
+ weechat_printf (ptr_channel->buffer,
+ _("%s%s%s %s(%s%s%s)%s has quit"),
+ weechat_prefix ("quit"),
+ IRC_COLOR_CHAT_NICK,
+ nick,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_HOST,
+ host,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT);
+ }
}
}
}
@@ -2458,83 +2299,93 @@ irc_protocol_cmd_quit (struct t_irc_server *server, char *irc_message, char *hos
*/
int
-irc_protocol_cmd_server_mode_reason (struct t_irc_server *server,
- char *irc_message, char *host,
- char *nick, char *arguments, int ignore,
- int highlight)
+irc_protocol_cmd_server_mode_reason (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *ptr_msg;
+ char *pos_args, *ptr_msg, *ptr_msg2;
+
+ IRC_PROTOCOL_MIN_ARGS(3);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
+ (void) argv;
(void) highlight;
if (!ignore)
{
/* skip nickname if at beginning of server message */
- if (strncmp (server->nick, arguments, strlen (server->nick)) == 0)
+ pos_args = argv_eol[2];
+ if (strncmp (server->nick, pos_args, strlen (server->nick)) == 0)
{
- arguments += strlen (server->nick) + 1;
- while (arguments[0] == ' ')
- arguments++;
+ pos_args += strlen (server->nick) + 1;
+ while (pos_args[0] == ' ')
+ {
+ pos_args++;
+ }
}
-
- ptr_msg = strchr (arguments, ' ');
+
+ ptr_msg = strchr (pos_args, ' ');
+ ptr_msg2 = NULL;
if (ptr_msg)
{
ptr_msg[0] = '\0';
- ptr_msg++;
- while (ptr_msg[0] == ' ')
- ptr_msg++;
- if (ptr_msg[0] == ':')
- ptr_msg++;
+ ptr_msg2 = ptr_msg + 1;
+ while (ptr_msg2[0] == ' ')
+ {
+ ptr_msg2++;
+ }
+ if (ptr_msg2[0] == ':')
+ {
+ ptr_msg2++;
+ }
}
weechat_printf (server->buffer,
- "%s: %s",
- arguments,
- (ptr_msg) ? ptr_msg : "");
+ "%s%s: %s",
+ weechat_prefix ("network"),
+ pos_args,
+ (ptr_msg2) ? ptr_msg2 : "");
+
+ if (ptr_msg)
+ ptr_msg[0] = ' ';
}
return WEECHAT_RC_OK;
}
/*
- * irc_protocol_cmd_server_msg: command received from server (numeric)
+ * irc_protocol_cmd_numeric: numeric command received from server
*/
int
-irc_protocol_cmd_server_msg (struct t_irc_server *server, char *irc_message,
- char *host, char *nick, char *arguments,
- int ignore, int highlight)
+irc_protocol_cmd_numeric (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
+ char *pos_args;
+
+ IRC_PROTOCOL_MIN_ARGS(3);
+
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
+ (void) argv;
(void) highlight;
if (!ignore)
{
- while (arguments[0] == ' ')
- arguments++;
-
- /* skip nickname if at beginning of server message */
- if (weechat_strncasecmp (server->nick, arguments, strlen (server->nick)) == 0)
+ if (weechat_strcasecmp (server->nick, argv[2]) == 0)
{
- arguments += strlen (server->nick) + 1;
- while (arguments[0] == ' ')
- arguments++;
+ pos_args = (argc > 3) ?
+ ((argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]) : NULL;
+ }
+ else
+ {
+ pos_args = (argv_eol[2][0] == ':') ? argv_eol[2] + 1 : argv_eol[2];
}
-
- if (arguments[0] == ':')
- arguments++;
weechat_printf (server->buffer,
- "%s",
- arguments);
+ "%s%s",
+ weechat_prefix ("network"),
+ pos_args);
}
return WEECHAT_RC_OK;
@@ -2545,19 +2396,24 @@ irc_protocol_cmd_server_msg (struct t_irc_server *server, char *irc_message,
*/
int
-irc_protocol_cmd_topic (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_topic (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos;
+ char *pos_topic;
struct t_irc_channel *ptr_channel;
struct t_gui_buffer *buffer;
+ /* TOPIC message looks like:
+ :nick!user@host TOPIC #channel :new topic for channel
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
+
/* make C compiler happy */
- (void) irc_message;
- (void) host;
(void) highlight;
- if (!irc_channel_is_channel (arguments))
+ if (!irc_channel_is_channel (argv[2]))
{
weechat_printf (server->buffer,
_("%s%s: \"%s\" command received without channel"),
@@ -2565,56 +2421,48 @@ irc_protocol_cmd_topic (struct t_irc_server *server, char *irc_message, char *ho
return WEECHAT_RC_ERROR;
}
- pos = strchr (arguments, ' ');
- if (pos)
- {
- pos[0] = '\0';
- pos++;
- while (pos[0] == ' ')
- pos++;
- if (pos[0] == ':')
- pos++;
- if (!pos[0])
- pos = NULL;
- }
+ pos_topic = (argc > 3) ?
+ ((argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]) : NULL;
- ptr_channel = irc_channel_search (server, arguments);
+ ptr_channel = irc_channel_search (server, argv[2]);
buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
if (!ignore)
{
- if (pos)
+ if (pos_topic && pos_topic[0])
{
weechat_printf (buffer,
_("%s%s%s%s has changed topic for %s%s%s to: "
"\"%s%s\""),
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_NICK,
- nick,
+ irc_protocol_get_nick_from_host (argv[0]),
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_CHANNEL,
- arguments,
+ argv[2],
IRC_COLOR_CHAT,
- pos,
+ pos_topic,
IRC_COLOR_CHAT);
}
else
+ {
weechat_printf (buffer,
_("%s%s%s%s has unset topic for %s%s"),
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_NICK,
- nick,
+ irc_protocol_get_nick_from_host (argv[0]),
IRC_COLOR_CHAT,
IRC_COLOR_CHAT_CHANNEL,
- arguments);
+ argv[2]);
+ }
}
if (ptr_channel)
{
if (ptr_channel->topic)
free (ptr_channel->topic);
- if (pos)
- ptr_channel->topic = strdup (pos);
+ if (pos_topic)
+ ptr_channel->topic = strdup (pos_topic);
else
ptr_channel->topic = strdup ("");
weechat_buffer_set (ptr_channel->buffer, "title", ptr_channel->topic);
@@ -2628,24 +2476,32 @@ irc_protocol_cmd_topic (struct t_irc_server *server, char *irc_message, char *ho
*/
int
-irc_protocol_cmd_wallops (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_wallops (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
+ /* WALLOPS message looks like:
+ :nick!user@host WALLOPS :message from admin
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
+
/* make C compiler happy */
- (void) irc_message;
- (void) host;
(void) highlight;
if (!ignore)
{
- if (arguments[0] == ':')
- arguments++;
weechat_printf (server->buffer,
- _("WALLOPS from %s%s%s: %s"),
+ _("%sWallops from %s%s %s(%s%s%s)%s: %s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_NICK,
- nick,
+ irc_protocol_get_nick_from_host (argv[0]),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_HOST,
+ irc_protocol_get_address_from_host (argv[0]),
+ IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT,
- arguments);
+ (argv_eol[2][0] == ':') ? argv_eol[2] + 1 : argv_eol[2]);
}
return WEECHAT_RC_OK;
@@ -2656,21 +2512,24 @@ irc_protocol_cmd_wallops (struct t_irc_server *server, char *irc_message, char *
*/
int
-irc_protocol_cmd_001 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_001 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos;
- char **commands, **ptr, *vars_replaced;
+ char **commands, **ptr_cmd, *vars_replaced;
char *away_msg;
+
+ /* 001 message looks like:
+ :server 001 mynick :Welcome to the dancer-ircd Network
+ */
- pos = strchr (arguments, ' ');
- if (pos)
- pos[0] = '\0';
- if (strcmp (server->nick, arguments) != 0)
- irc_server_set_nick (server, arguments);
+ IRC_PROTOCOL_MIN_ARGS(3);
+
+ if (strcmp (server->nick, argv[2]) != 0)
+ irc_server_set_nick (server, argv[2]);
- irc_protocol_cmd_server_msg (server, irc_message, host, nick, arguments,
- ignore, highlight);
+ irc_protocol_cmd_numeric (server, command, argc, argv, argv_eol,
+ ignore, highlight);
/* connection to IRC server is ok! */
server->is_connected = 1;
@@ -2690,16 +2549,17 @@ irc_protocol_cmd_001 (struct t_irc_server *server, char *irc_message, char *host
/* execute command when connected */
if (server->command && server->command[0])
- {
+ {
/* splitting command on ';' which can be escaped with '\;' */
commands = weechat_string_split_command (server->command, ';');
if (commands)
{
- for (ptr = commands; *ptr; ptr++)
+ for (ptr_cmd = commands; *ptr_cmd; ptr_cmd++)
{
- vars_replaced = irc_protocol_replace_vars (server, NULL, *ptr);
+ vars_replaced = irc_protocol_replace_vars (server, NULL,
+ *ptr_cmd);
weechat_command (server->buffer,
- (vars_replaced) ? vars_replaced : *ptr);
+ (vars_replaced) ? vars_replaced : *ptr_cmd);
if (vars_replaced)
free (vars_replaced);
}
@@ -2722,15 +2582,25 @@ irc_protocol_cmd_001 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_005 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_005 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
char *pos, *pos2;
+
+ /* 005 message looks like:
+ :server 005 mynick MODES=4 CHANLIMIT=#:20 NICKLEN=16 USERLEN=10
+ HOSTLEN=63 TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23
+ CHANTYPES=# PREFIX=(ov)@+ CASEMAPPING=ascii CAPAB IRCD=dancer
+ :are available on this server
+ */
- irc_protocol_cmd_server_msg (server, irc_message, host, nick, arguments,
- ignore, highlight);
+ IRC_PROTOCOL_MIN_ARGS(4);
- pos = strstr (arguments, "PREFIX=");
+ irc_protocol_cmd_numeric (server, command, argc, argv, argv_eol,
+ ignore, highlight);
+
+ pos = strstr (argv_eol[3], "PREFIX=");
if (pos)
{
pos += 7;
@@ -2759,45 +2629,31 @@ irc_protocol_cmd_005 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_221 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_221 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_mode;
+ /* 221 message looks like:
+ :server 221 nick :+s
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(4);
/* make C compiler happy */
- (void) server;
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
- pos_mode = strchr (arguments, ' ');
- if (pos_mode)
- {
- pos_mode[0] = '\0';
- pos_mode++;
- while (pos_mode[0] == ' ')
- pos_mode++;
-
- if (!ignore)
- {
- weechat_printf (server->buffer,
- _("User mode for %s%s%s is %s[%s%s%s]"),
- IRC_COLOR_CHAT_NICK,
- arguments,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_mode,
- IRC_COLOR_CHAT_DELIMITERS);
- }
- }
- else
+ if (!ignore)
{
weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc", "221");
- return WEECHAT_RC_ERROR;
+ _("%sUser mode for %s%s%s is %s[%s%s%s]"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_NICK,
+ argv[2],
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3],
+ IRC_COLOR_CHAT_DELIMITERS);
}
return WEECHAT_RC_OK;
@@ -2805,124 +2661,52 @@ irc_protocol_cmd_221 (struct t_irc_server *server, char *irc_message, char *host
/*
* irc_protocol_cmd_301: '301' command (away message)
+ * received when we are talking to a user in private
+ * and that remote user is away (we receive away message)
*/
int
-irc_protocol_cmd_301 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_301 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_nick, *pos_message;
+ char *pos_away_msg;
struct t_irc_channel *ptr_channel;
struct t_gui_buffer *ptr_buffer;
- /* make C compiler happy */
- (void) server;
- (void) irc_message;
- (void) host;
- (void) nick;
- (void) highlight;
-
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
- {
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_message = strchr (pos_nick, ' ');
- if (pos_message)
- {
- pos_message[0] = '\0';
- pos_message++;
- while (pos_message[0] == ' ')
- pos_message++;
- if (pos_message[0] == ':')
- pos_message++;
-
- if (!ignore)
- {
- /* look for private buffer to display message */
- ptr_channel = irc_channel_search (server, pos_nick);
- if (!weechat_config_boolean (irc_config_irc_show_away_once)
- || !ptr_channel
- || !(ptr_channel->away_message)
- || (strcmp (ptr_channel->away_message, pos_message) != 0))
- {
- ptr_buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
- weechat_printf (ptr_buffer,
- _("%s%s%s%s is away: %s"),
- weechat_prefix ("info"),
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT,
- pos_message);
- if (ptr_channel)
- {
- if (ptr_channel->away_message)
- free (ptr_channel->away_message);
- ptr_channel->away_message = strdup (pos_message);
- }
- }
- }
- }
- }
+ /* 301 message looks like:
+ :server 301 mynick nick :away message for nick
+ */
- return WEECHAT_RC_OK;
-}
-
-/*
- * irc_protocol_cmd_302: '302' command (userhost)
- */
-
-int
-irc_protocol_cmd_302 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
-{
- char *pos_host, *ptr_next;
+ IRC_PROTOCOL_MIN_ARGS(3);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
- if (!ignore)
+ if ((argc > 4) && !ignore)
{
- arguments = strchr (arguments, ' ');
- if (arguments)
+ pos_away_msg = (argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4];
+
+ /* look for private buffer to display message */
+ ptr_channel = irc_channel_search (server, argv[3]);
+ if (!weechat_config_boolean (irc_config_irc_show_away_once)
+ || !ptr_channel
+ || !(ptr_channel->away_message)
+ || (strcmp (ptr_channel->away_message, pos_away_msg) != 0))
{
- while (arguments[0] == ' ')
- arguments++;
- if (arguments[0] == ':')
- arguments++;
- while (arguments)
+ ptr_buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
+ weechat_printf (ptr_buffer,
+ _("%s%s%s%s is away: %s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT,
+ pos_away_msg);
+ if (ptr_channel)
{
- pos_host = strchr (arguments, '=');
- if (pos_host)
- {
- pos_host[0] = '\0';
- pos_host++;
-
- ptr_next = strchr (pos_host, ' ');
- if (ptr_next)
- {
- ptr_next[0] = '\0';
- ptr_next++;
- while (ptr_next[0] == ' ')
- ptr_next++;
- }
-
- weechat_printf (server->buffer,
- "%s%s%s=%s%s",
- IRC_COLOR_CHAT_NICK,
- arguments,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_HOST,
- pos_host);
- }
- else
- ptr_next = NULL;
- arguments = ptr_next;
- if (arguments && !arguments[0])
- arguments = NULL;
+ if (ptr_channel->away_message)
+ free (ptr_channel->away_message);
+ ptr_channel->away_message = strdup (pos_away_msg);
}
}
}
@@ -2935,48 +2719,27 @@ irc_protocol_cmd_302 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_303 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_303 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *ptr_next;
+ /* 301 message looks like:
+ :server 303 mynick :nick1 nick2
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(4);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
+ (void) argv;
(void) highlight;
if (!ignore)
{
weechat_printf (server->buffer,
- _("Users online: "));
-
- arguments = strchr (arguments, ' ');
- if (arguments)
- {
- while (arguments[0] == ' ')
- arguments++;
- if (arguments[0] == ':')
- arguments++;
- while (arguments)
- {
- ptr_next = strchr (arguments, ' ');
- if (ptr_next)
- {
- ptr_next[0] = '\0';
- ptr_next++;
- while (ptr_next[0] == ' ')
- ptr_next++;
- }
- weechat_printf (server->buffer,
- "%s%s ",
- IRC_COLOR_CHAT_NICK,
- arguments);
- arguments = ptr_next;
- if (arguments && !arguments[0])
- arguments = NULL;
- }
- }
+ _("%sUsers online: %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_NICK,
+ (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]);
}
return WEECHAT_RC_OK;
@@ -2987,31 +2750,31 @@ irc_protocol_cmd_303 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_305 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_305 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- //struct t_gui_window *ptr_window;
+ /* 305 message looks like:
+ :server 305 mynick :Does this mean you're really back?
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
+ (void) argv;
(void) highlight;
- if (!ignore)
+ if (!ignore && (argc > 3))
{
- arguments = strchr (arguments, ' ');
- if (arguments)
- {
- while (arguments[0] == ' ')
- arguments++;
- if (arguments[0] == ':')
- arguments++;
- weechat_printf (server->buffer, "%s", arguments);
- }
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("network"),
+ (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]);
}
+
server->is_away = 0;
server->away_time = 0;
+
/*
for (ptr_window = gui_windows; ptr_window;
ptr_window = ptr_window->next_window)
@@ -3030,31 +2793,31 @@ irc_protocol_cmd_305 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_306 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_306 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- //struct t_gui_window *ptr_window;
+ /* 306 message looks like:
+ :server 306 mynick :We'll miss you
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
+ (void) argv;
(void) highlight;
- if (!ignore)
+ if (!ignore && (argc > 3))
{
- arguments = strchr (arguments, ' ');
- if (arguments)
- {
- while (arguments[0] == ' ')
- arguments++;
- if (arguments[0] == ':')
- arguments++;
- weechat_printf (server->buffer, "%s", arguments);
- }
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("network"),
+ (argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]);
}
+
server->is_away = 1;
server->away_time = time (NULL);
+
/*
for (ptr_window = gui_windows; ptr_window;
ptr_window = ptr_window->next_window)
@@ -3079,81 +2842,30 @@ irc_protocol_cmd_306 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_whois_nick_msg (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_whois_nick_msg (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_nick, *pos_msg;
-
- /* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
- (void) highlight;
-
- if (!ignore)
- {
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
- {
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_msg = strchr (pos_nick, ' ');
- if (pos_msg)
- {
- pos_msg[0] = '\0';
- pos_msg++;
- while (pos_msg[0] == ' ')
- pos_msg++;
- if (pos_msg[0] == ':')
- pos_msg++;
-
- weechat_printf (server->buffer,
- "%s[%s%s%s] %s%s",
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_msg);
- }
- }
- }
+ /* messages look like:
+ :server 319 flashy FlashCode :some text here
+ */
- return WEECHAT_RC_OK;
-}
-
-/*
- * irc_protocol_cmd_310: '310' command (whois, help mode)
- */
-
-int
-irc_protocol_cmd_310 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
-{
- char *pos_nick;
+ IRC_PROTOCOL_MIN_ARGS(5);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
if (!ignore)
{
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
- {
- while (pos_nick[0] == ' ')
- pos_nick++;
-
- weechat_printf (server->buffer,
- _("%s[%s%s%s]%s help mode (+h)"),
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT);
- }
+ weechat_printf (server->buffer,
+ "%s%s[%s%s%s] %s%s",
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ (argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4]);
}
return WEECHAT_RC_OK;
@@ -3164,68 +2876,34 @@ irc_protocol_cmd_310 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_311 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_311 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_nick, *pos_user, *pos_host, *pos_realname;
+ /* 311 message looks like:
+ :server 311 mynick nick user host * :realname here
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(8);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
if (!ignore)
{
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
- {
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_user = strchr (pos_nick, ' ');
- if (pos_user)
- {
- pos_user[0] = '\0';
- pos_user++;
- while (pos_user[0] == ' ')
- pos_user++;
- pos_host = strchr (pos_user, ' ');
- if (pos_host)
- {
- pos_host[0] = '\0';
- pos_host++;
- while (pos_host[0] == ' ')
- pos_host++;
- pos_realname = strchr (pos_host, ' ');
- if (pos_realname)
- {
- pos_realname[0] = '\0';
- pos_realname++;
- while (pos_realname[0] == ' ')
- pos_realname++;
- if (pos_realname[0] == '*')
- pos_realname++;
- while (pos_realname[0] == ' ')
- pos_realname++;
- if (pos_realname[0] == ':')
- pos_realname++;
-
- weechat_printf (server->buffer,
- "%s[%s%s%s] (%s%s@%s%s)%s: %s",
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_HOST,
- pos_user,
- pos_host,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_realname);
- }
- }
- }
- }
+ weechat_printf (server->buffer,
+ "%s%s[%s%s%s] (%s%s@%s%s)%s: %s",
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_HOST,
+ argv[4],
+ argv[5],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ (argv_eol[7][0] == ':') ? argv_eol[7] + 1 : argv_eol[7]);
}
return WEECHAT_RC_OK;
@@ -3236,57 +2914,36 @@ irc_protocol_cmd_311 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_312 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_312 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_nick, *pos_server, *pos_serverinfo;
+ /* 312 message looks like:
+ :server 312 mynick nick irc.freenode.net :http://freenode.net/
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(6);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
if (!ignore)
{
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
- {
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_server = strchr (pos_nick, ' ');
- if (pos_server)
- {
- pos_server[0] = '\0';
- pos_server++;
- while (pos_server[0] == ' ')
- pos_server++;
- pos_serverinfo = strchr (pos_server, ' ');
- if (pos_serverinfo)
- {
- pos_serverinfo[0] = '\0';
- pos_serverinfo++;
- while (pos_serverinfo[0] == ' ')
- pos_serverinfo++;
- if (pos_serverinfo[0] == ':')
- pos_serverinfo++;
-
- weechat_printf (server->buffer,
- "%s[%s%s%s] %s%s %s(%s%s%s)",
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_server,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_serverinfo,
- IRC_COLOR_CHAT_DELIMITERS);
- }
- }
- }
+ weechat_printf (server->buffer,
+ "%s%s[%s%s%s] %s%s %s(%s%s%s)",
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ argv[4],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ (argv_eol[5][0] == ':') ? argv_eol[5] + 1 : argv_eol[5],
+ IRC_COLOR_CHAT_DELIMITERS);
}
+
return WEECHAT_RC_OK;
}
@@ -3295,72 +2952,35 @@ irc_protocol_cmd_312 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_314 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_314 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_nick, *pos_user, *pos_host, *pos_realname;
+ /* 314 message looks like:
+ :server 314 mynick nick user host * :realname here
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(8);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
-
+
if (!ignore)
{
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
- {
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_user = strchr (pos_nick, ' ');
- if (pos_user)
- {
- pos_user[0] = '\0';
- pos_user++;
- while (pos_user[0] == ' ')
- pos_user++;
- pos_host = strchr (pos_user, ' ');
- if (pos_host)
- {
- pos_host[0] = '\0';
- pos_host++;
- while (pos_host[0] == ' ')
- pos_host++;
- pos_realname = strchr (pos_host, ' ');
- if (pos_realname)
- {
- pos_realname[0] = '\0';
- pos_realname++;
- while (pos_realname[0] == ' ')
- pos_realname++;
- pos_realname = strchr (pos_realname, ' ');
- if (pos_realname)
- {
- pos_realname[0] = '\0';
- pos_realname++;
- while (pos_realname[0] == ' ')
- pos_realname++;
- if (pos_realname[0] == ':')
- pos_realname++;
-
- weechat_printf (server->buffer,
- _("%s%s %s(%s%s@%s%s)%s was %s"),
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_HOST,
- pos_user,
- pos_host,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_realname);
- }
- }
- }
- }
- }
+ weechat_printf (server->buffer,
+ _("%s%s%s %s(%s%s@%s%s)%s was %s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_HOST,
+ argv[4],
+ argv[5],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ (argv_eol[7][0] == ':') ? argv_eol[7] + 1 : argv_eol[7]);
}
+
return WEECHAT_RC_OK;
}
@@ -3369,52 +2989,41 @@ irc_protocol_cmd_314 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_315 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_315 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos;
+ /* 315 message looks like:
+ :server 315 mynick #channel :End of /WHO list.
+ */
+
struct t_irc_channel *ptr_channel;
+
+ IRC_PROTOCOL_MIN_ARGS(5);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
- /* skip nickname if at beginning of server message */
- if (strncmp (server->nick, arguments, strlen (server->nick)) == 0)
+ ptr_channel = irc_channel_search (server, argv[3]);
+ if (ptr_channel && (ptr_channel->checking_away > 0))
{
- arguments += strlen (server->nick) + 1;
- while (arguments[0] == ' ')
- arguments++;
+ ptr_channel->checking_away--;
}
-
- pos = strchr (arguments, ' ');
- if (pos)
+ else
{
- pos[0] = '\0';
- pos++;
- ptr_channel = irc_channel_search (server, arguments);
- if (ptr_channel && (ptr_channel->checking_away > 0))
- {
- ptr_channel->checking_away--;
- return WEECHAT_RC_OK;
- }
if (!ignore)
{
weechat_printf (server->buffer,
- "%s%s %s%s",
+ "%s%s[%s%s%s]%s %s",
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_CHANNEL,
- arguments,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT,
- pos);
+ (argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4]);
}
}
- else
- {
- if (!ignore)
- weechat_printf (server->buffer, "%s", arguments);
- }
return WEECHAT_RC_OK;
}
@@ -3424,209 +3033,90 @@ irc_protocol_cmd_315 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_317 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_317 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_nick, *pos_idle, *pos_signon, *pos_message;
int idle_time, day, hour, min, sec;
time_t datetime;
- /* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
- (void) highlight;
+ /* 317 message looks like:
+ :server 317 mynick nick 122877 1205327880 :seconds idle, signon time
+ */
- if (!ignore)
- {
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
- {
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_idle = strchr (pos_nick, ' ');
- if (pos_idle)
- {
- pos_idle[0] = '\0';
- pos_idle++;
- while (pos_idle[0] == ' ')
- pos_idle++;
- pos_signon = strchr (pos_idle, ' ');
- if (pos_signon)
- {
- pos_signon[0] = '\0';
- pos_signon++;
- while (pos_signon[0] == ' ')
- pos_signon++;
- pos_message = strchr (pos_signon, ' ');
- if (pos_message)
- {
- pos_message[0] = '\0';
-
- idle_time = atoi (pos_idle);
- day = idle_time / (60 * 60 * 24);
- hour = (idle_time % (60 * 60 * 24)) / (60 * 60);
- min = ((idle_time % (60 * 60 * 24)) % (60 * 60)) / 60;
- sec = ((idle_time % (60 * 60 * 24)) % (60 * 60)) % 60;
-
- datetime = (time_t)(atol (pos_signon));
-
- if (day > 0)
- {
- weechat_printf (server->buffer,
- _("%s[%s%s%s]%s idle: %s%d %s%s, "
- "%s%02d %s%s %s%02d %s%s %s%02d "
- "%s%s, signon at: %s%s"),
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_CHANNEL,
- day,
- IRC_COLOR_CHAT,
- NG_("day", "days", day),
- IRC_COLOR_CHAT_CHANNEL,
- hour,
- IRC_COLOR_CHAT,
- NG_("hour", "hours", hour),
- IRC_COLOR_CHAT_CHANNEL,
- min,
- IRC_COLOR_CHAT,
- NG_("minute", "minutes", min),
- IRC_COLOR_CHAT_CHANNEL,
- sec,
- IRC_COLOR_CHAT,
- NG_("second", "seconds", sec),
- IRC_COLOR_CHAT_CHANNEL,
- ctime (&datetime));
- }
- else
- {
- weechat_printf (server->buffer,
- _("%s[%s%s%s]%s idle: %s%02d %s%s "
- "%s%02d %s%s %s%02d %s%s, "
- "signon at: %s%s"),
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_CHANNEL,
- hour,
- IRC_COLOR_CHAT,
- NG_("hour", "hours", hour),
- IRC_COLOR_CHAT_CHANNEL,
- min,
- IRC_COLOR_CHAT,
- NG_("minute", "minutes", min),
- IRC_COLOR_CHAT_CHANNEL,
- sec,
- IRC_COLOR_CHAT,
- NG_("second", "seconds", sec),
- IRC_COLOR_CHAT_CHANNEL,
- ctime (&datetime));
- }
- }
- }
- }
- }
- }
-
- return WEECHAT_RC_OK;
-}
-
-/*
- * irc_protocol_cmd_319: '319' command (whois, channels)
- */
-
-int
-irc_protocol_cmd_319 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
-{
- char *pos_nick, *pos_channel, *pos, *color;
+ IRC_PROTOCOL_MIN_ARGS(6);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
+ (void) argv_eol;
(void) highlight;
if (!ignore)
{
- pos_nick = strchr (arguments, ' ');
- if (pos_nick)
+ idle_time = atoi (argv[4]);
+ day = idle_time / (60 * 60 * 24);
+ hour = (idle_time % (60 * 60 * 24)) / (60 * 60);
+ min = ((idle_time % (60 * 60 * 24)) % (60 * 60)) / 60;
+ sec = ((idle_time % (60 * 60 * 24)) % (60 * 60)) % 60;
+
+ datetime = (time_t)(atol (argv[5]));
+
+ if (day > 0)
{
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_channel = strchr (pos_nick, ' ');
- if (pos_channel)
- {
- pos_channel[0] = '\0';
- pos_channel++;
- while (pos_channel[0] == ' ')
- pos_channel++;
- if (pos_channel[0] == ':')
- pos_channel++;
-
- weechat_printf (server->buffer,
- _("%s[%s%s%s]%s Channels: "),
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT);
- while (pos_channel && pos_channel[0])
- {
- if (irc_mode_nick_prefix_allowed (server, pos_channel[0]))
- {
- switch (pos_channel[0])
- {
- case '@': /* op */
- color = IRC_COLOR_NICKLIST_PREFIX1;
- break;
- case '~': /* channel owner */
- color = IRC_COLOR_NICKLIST_PREFIX1;
- break;
- case '&': /* channel admin */
- color = IRC_COLOR_NICKLIST_PREFIX1;
- break;
- case '!': /* channel admin (2) */
- color = IRC_COLOR_NICKLIST_PREFIX1;
- break;
- case '%': /* half-op */
- color = IRC_COLOR_NICKLIST_PREFIX2;
- break;
- case '+': /* voice */
- color = IRC_COLOR_NICKLIST_PREFIX3;
- break;
- case '-': /* channel user */
- color = IRC_COLOR_NICKLIST_PREFIX4;
- break;
- default:
- color = IRC_COLOR_CHAT;
- break;
- }
- weechat_printf (server->buffer, "%s%c",
- color, pos_channel[0]);
- pos_channel++;
- }
-
- pos = strchr (pos_channel, ' ');
- if (pos)
- {
- pos[0] = '\0';
- pos++;
- while (pos[0] == ' ')
- pos++;
- }
- weechat_printf (server->buffer, "%s%s%s",
- IRC_COLOR_CHAT_CHANNEL,
- pos_channel,
- (pos && pos[0]) ? " " : "");
- pos_channel = pos;
- }
- }
+ weechat_printf (server->buffer,
+ _("%s%s[%s%s%s]%s idle: %s%d %s%s, "
+ "%s%02d %s%s %s%02d %s%s %s%02d "
+ "%s%s, signon at: %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_CHANNEL,
+ day,
+ IRC_COLOR_CHAT,
+ NG_("day", "days", day),
+ IRC_COLOR_CHAT_CHANNEL,
+ hour,
+ IRC_COLOR_CHAT,
+ NG_("hour", "hours", hour),
+ IRC_COLOR_CHAT_CHANNEL,
+ min,
+ IRC_COLOR_CHAT,
+ NG_("minute", "minutes", min),
+ IRC_COLOR_CHAT_CHANNEL,
+ sec,
+ IRC_COLOR_CHAT,
+ NG_("second", "seconds", sec),
+ IRC_COLOR_CHAT_CHANNEL,
+ ctime (&datetime));
+ }
+ else
+ {
+ weechat_printf (server->buffer,
+ _("%s%s[%s%s%s]%s idle: %s%02d %s%s "
+ "%s%02d %s%s %s%02d %s%s, "
+ "signon at: %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_NICK,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_CHANNEL,
+ hour,
+ IRC_COLOR_CHAT,
+ NG_("hour", "hours", hour),
+ IRC_COLOR_CHAT_CHANNEL,
+ min,
+ IRC_COLOR_CHAT,
+ NG_("minute", "minutes", min),
+ IRC_COLOR_CHAT_CHANNEL,
+ sec,
+ IRC_COLOR_CHAT,
+ NG_("second", "seconds", sec),
+ IRC_COLOR_CHAT_CHANNEL,
+ ctime (&datetime));
}
}
@@ -3638,31 +3128,32 @@ irc_protocol_cmd_319 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_321 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_321 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos;
+ char *pos_args;
+
+ /* 321 message looks like:
+ :server 321 mynick Channel :Users Name
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(4);
+
+ pos_args = (argc > 4) ?
+ ((argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4]) : NULL;
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
if (!ignore)
{
- pos = strchr (arguments, ' ');
- if (pos)
- {
- pos[0] = '\0';
- pos++;
- while (pos[0] == ' ')
- pos++;
- }
- else
- pos = arguments;
-
- weechat_printf (server->buffer, "%s", pos);
+ weechat_printf (server->buffer,
+ "%s%s%s%s",
+ weechat_prefix ("network"),
+ argv[3],
+ (pos_args) ? " " : "",
+ (pos_args) ? pos_args : "");
}
return WEECHAT_RC_OK;
@@ -3673,72 +3164,77 @@ irc_protocol_cmd_321 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_322 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_322 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos;
+ char *pos_topic;
+
+ /* 322 message looks like:
+ :server 322 mynick #channel 3 :topic of channel
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(5);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
+ pos_topic = (argc > 5) ?
+ ((argv_eol[5][0] == ':') ? argv_eol[5] + 1 : argv_eol[5]) : NULL;
+
if (!ignore)
{
- pos = strchr (arguments, ' ');
- if (pos)
+ if (!server->cmd_list_regexp ||
+ (regexec (server->cmd_list_regexp, argv[3], 0, NULL, 0) == 0))
{
- pos[0] = '\0';
- pos++;
- while (pos[0] == ' ')
- pos++;
+ weechat_printf (server->buffer,
+ "%s%s%s%s(%s%s%s)%s%s%s",
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ argv[4],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ (pos_topic && pos_topic[0]) ? ": " : "",
+ (pos_topic && pos_topic[0]) ? pos_topic : "");
}
- else
- pos = arguments;
-
- if (server->cmd_list_regexp)
- {
- if (regexec (server->cmd_list_regexp, pos, 0, NULL, 0) == 0)
- weechat_printf (server->buffer, "%s", pos);
- }
- else
- weechat_printf (server->buffer, "%s", pos);
}
return WEECHAT_RC_OK;
}
/*
- * irc_protocol_cmd_323: '323' command (/list end)
+ * irc_protocol_cmd_323: '323' command (end of /list)
*/
int
-irc_protocol_cmd_323 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_323 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos;
+ char *pos_args;
+
+ /* 323 message looks like:
+ :server 323 mynick :End of /LIST
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(3);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
+ (void) argv;
(void) highlight;
+ pos_args = (argc > 3) ?
+ ((argv_eol[3][0] == ':') ? argv_eol[3] + 1 : argv_eol[3]) : NULL;
+
if (!ignore)
{
- pos = strchr (arguments, ' ');
- if (pos)
- {
- pos[0] = '\0';
- pos++;
- while (pos[0] == ' ')
- pos++;
- }
- else
- pos = arguments;
-
- weechat_printf (server->buffer, "%s", pos);
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("network"),
+ (pos_args && pos_args[0]) ? pos_args : "");
}
return WEECHAT_RC_OK;
@@ -3864,7 +3360,8 @@ irc_protocol_cmd_327 (struct t_irc_server *server, char *irc_message, char *host
}
weechat_printf (server->buffer,
- "%s[%s%s%s] %s%s %s %s%s%s%s%s%s",
+ "%s%s[%s%s%s] %s%s %s %s%s%s%s%s%s",
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_NICK,
pos_nick,
@@ -3891,70 +3388,51 @@ irc_protocol_cmd_327 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_329 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_329 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_channel, *pos_date;
struct t_irc_channel *ptr_channel;
time_t datetime;
+ /* 329 message looks like:
+ :server 329 mynick #channel 1205327894
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(5);
+
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
- pos_channel = strchr (arguments, ' ');
- if (pos_channel)
+ ptr_channel = irc_channel_search (server, argv[3]);
+
+ if (!ignore)
{
- while (pos_channel[0] == ' ')
- pos_channel++;
- pos_date = strchr (pos_channel, ' ');
- if (pos_date)
+ datetime = (time_t)(atol ((argv_eol[4][0] == ':') ?
+ argv_eol[4] + 1 : argv_eol[4]));
+
+ if (ptr_channel)
{
- pos_date[0] = '\0';
- pos_date++;
- while (pos_date[0] == ' ')
- pos_date++;
-
- ptr_channel = irc_channel_search (server, pos_channel);
- if (!ptr_channel)
+ if (ptr_channel->display_creation_date)
{
- weechat_printf (server->buffer,
- _("%s%s: channel \"%s\" not found for "
- "\"%s\" command"),
- weechat_prefix ("error"), "irc", pos_channel,
- "329");
- return WEECHAT_RC_ERROR;
- }
-
- if (!ignore && (ptr_channel->display_creation_date))
- {
- datetime = (time_t)(atol (pos_date));
weechat_printf (ptr_channel->buffer,
_("%sChannel created on %s"),
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
ctime (&datetime));
+ ptr_channel->display_creation_date = 0;
}
- ptr_channel->display_creation_date = 0;
}
else
{
weechat_printf (server->buffer,
- _("%s%s: cannot identify date/time for \"%s\" "
- "command"),
- weechat_prefix ("error"), "irc", "329");
- return WEECHAT_RC_ERROR;
+ _("%sChannel %s%s%s created on %s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[3],
+ IRC_COLOR_CHAT,
+ ctime (&datetime));
}
}
- else
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot identify channel for \"%s\" "
- "command"),
- weechat_prefix ("error"), "irc", "329");
- return WEECHAT_RC_ERROR;
- }
return WEECHAT_RC_OK;
}
@@ -3964,50 +3442,31 @@ irc_protocol_cmd_329 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_331 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_331 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_channel, *pos;
struct t_irc_channel *ptr_channel;
+ /* 331 message looks like:
+ :server 331 mynick #channel :There isn't a topic.
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(4);
+
/* make C compiler happy */
- (void) irc_message;
- (void) server;
- (void) host;
- (void) nick;
+ (void) argv_eol;
(void) highlight;
if (!ignore)
{
- pos_channel = strchr (arguments, ' ');
- if (pos_channel)
- {
- pos_channel++;
- while (pos_channel[0] == ' ')
- pos_channel++;
- pos = strchr (pos_channel, ' ');
- if (pos)
- pos[0] = '\0';
- }
- else
- {
- weechat_printf (server->buffer,
- _("%s%s: channel \"%s\" not found for \"%s\" "
- "command"),
- weechat_prefix ("error"), "irc", "", "331");
- return WEECHAT_RC_ERROR;
- }
-
- ptr_channel = irc_channel_search (server, pos_channel);
- if (!ignore)
- {
- weechat_printf ((ptr_channel) ?
- ptr_channel->buffer : server->buffer,
- _("%sNo topic set for %s%s"),
- weechat_prefix ("info"),
- IRC_COLOR_CHAT_CHANNEL,
- pos_channel);
- }
+ ptr_channel = irc_channel_search (server, argv[3]);
+ weechat_printf ((ptr_channel) ?
+ ptr_channel->buffer : server->buffer,
+ _("%sNo topic set for channel %s%s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[3]);
}
return WEECHAT_RC_OK;
@@ -4018,65 +3477,45 @@ irc_protocol_cmd_331 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_332 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_332 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos, *pos2;
+ char *pos_topic;
struct t_irc_channel *ptr_channel;
- struct t_gui_buffer *ptr_buffer;
+
+ /* 332 message looks like:
+ :server 332 mynick #channel :topic of channel
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(5);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
- pos = strchr (arguments, ' ');
- if (pos)
+ pos_topic = (argv_eol[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4];
+
+ ptr_channel = irc_channel_search (server, argv[3]);
+
+ if (ptr_channel && ptr_channel->nicks)
{
- while (pos[0] == ' ')
- pos++;
- pos2 = strchr (pos, ' ');
- if (pos2)
- {
- pos2[0] = '\0';
- ptr_channel = irc_channel_search (server, pos);
- ptr_buffer = (ptr_channel) ?
- ptr_channel->buffer : server->buffer;
- pos2++;
- while (pos2[0] == ' ')
- pos2++;
- if (pos2[0] == ':')
- pos2++;
- if (ptr_channel)
- {
- if (ptr_channel->topic)
- free (ptr_channel->topic);
- ptr_channel->topic = strdup (pos2);
- weechat_buffer_set (ptr_channel->buffer, "title",
- ptr_channel->topic);
- }
-
- if (!ignore)
- {
- weechat_printf (ptr_buffer,
- _("%sTopic for %s%s%s is: \"%s%s\""),
- weechat_prefix ("info"),
- IRC_COLOR_CHAT_CHANNEL,
- pos,
- IRC_COLOR_CHAT,
- pos2,
- IRC_COLOR_CHAT);
- }
- }
+ if (ptr_channel->topic)
+ free (ptr_channel->topic);
+ ptr_channel->topic = strdup (pos_topic);
+ weechat_buffer_set (ptr_channel->buffer, "title", ptr_channel->topic);
}
- else
+
+ if (!ignore)
{
- weechat_printf (server->buffer,
- _("%s%s: cannot identify channel for \"%s\" "
- "command"),
- weechat_prefix ("error"), "irc", "332");
- return WEECHAT_RC_ERROR;
+ weechat_printf ((ptr_channel && ptr_channel->nicks) ?
+ ptr_channel->buffer : server->buffer,
+ _("%sTopic for %s%s%s is: \"%s%s\""),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[3],
+ IRC_COLOR_CHAT,
+ pos_topic,
+ IRC_COLOR_CHAT);
}
return WEECHAT_RC_OK;
@@ -4087,69 +3526,50 @@ irc_protocol_cmd_332 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_333 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_333 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_channel, *pos_nick, *pos_date;
struct t_irc_channel *ptr_channel;
- struct t_gui_buffer *ptr_buffer;
time_t datetime;
+ /* 333 message looks like:
+ :server 333 mynick #channel nick 1205428096
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(6);
+
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
- pos_channel = strchr (arguments, ' ');
- if (pos_channel)
+ if (!ignore)
{
- while (pos_channel[0] == ' ')
- pos_channel++;
- pos_nick = strchr (pos_channel, ' ');
- if (pos_nick)
+ ptr_channel = irc_channel_search (server, argv[3]);
+ datetime = (time_t)(atol ((argv_eol[5][0] == ':') ?
+ argv_eol[5] + 1 : argv_eol[5]));
+ if (ptr_channel && ptr_channel->nicks)
{
- pos_nick[0] = '\0';
- pos_nick++;
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_date = strchr (pos_nick, ' ');
- if (pos_date)
- {
- pos_date[0] = '\0';
- pos_date++;
- while (pos_date[0] == ' ')
- pos_date++;
-
- ptr_channel = irc_channel_search (server, pos_channel);
- ptr_buffer = (ptr_channel) ?
- ptr_channel->buffer : server->buffer;
-
- if (!ignore)
- {
- datetime = (time_t)(atol (pos_date));
- weechat_printf (ptr_buffer,
- _("%sTopic set by %s%s%s, %s"),
- weechat_prefix ("info"),
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT,
- ctime (&datetime));
- }
- }
- else
- return WEECHAT_RC_OK;
+ weechat_printf (ptr_channel->buffer,
+ _("%sTopic set by %s%s%s on %s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_NICK,
+ argv[4],
+ IRC_COLOR_CHAT,
+ ctime (&datetime));
}
else
- return WEECHAT_RC_OK;
- }
- else
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot identify channel for \"%s\" "
- "command"),
- weechat_prefix ("error"), "irc", "333");
- return WEECHAT_RC_ERROR;
+ {
+ weechat_printf (server->buffer,
+ _("%sTopic for %s%s%s set by %s%s%s on %s"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[3],
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_NICK,
+ argv[4],
+ IRC_COLOR_CHAT,
+ ctime (&datetime));
+ }
}
return WEECHAT_RC_OK;
@@ -4196,7 +3616,8 @@ irc_protocol_cmd_338 (struct t_irc_server *server, char *irc_message, char *host
pos_message++;
weechat_printf (server->buffer,
- "%s[%s%s%s] %s%s %s%s %s%s",
+ "%s%s[%s%s%s] %s%s %s%s %s%s",
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_NICK,
pos_nick,
@@ -4252,7 +3673,8 @@ irc_protocol_cmd_341 (struct t_irc_server *server, char *irc_message, char *host
pos_channel++;
weechat_printf (server->buffer,
- _("%s%s%s has invited %s%s%s on %s%s"),
+ _("%s%s%s%s has invited %s%s%s on %s%s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_NICK,
arguments,
IRC_COLOR_CHAT,
@@ -4316,7 +3738,8 @@ irc_protocol_cmd_344 (struct t_irc_server *server, char *irc_message, char *host
pos_host++;
weechat_printf (server->buffer,
- _("Channel reop %s%s%s: %s%s"),
+ _("%sChannel reop %s%s%s: %s%s"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_CHANNEL,
pos_channel,
IRC_COLOR_CHAT,
@@ -4361,7 +3784,8 @@ irc_protocol_cmd_345 (struct t_irc_server *server, char *irc_message, char *host
if (!ignore)
{
weechat_printf (server->buffer,
- "%s%s %s%s",
+ "%s%s%s %s%s",
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_CHANNEL,
arguments,
IRC_COLOR_CHAT,
@@ -4371,7 +3795,12 @@ irc_protocol_cmd_345 (struct t_irc_server *server, char *irc_message, char *host
else
{
if (!ignore)
- weechat_printf (server->buffer, "%s", arguments);
+ {
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("network"),
+ arguments);
+ }
}
return WEECHAT_RC_OK;
@@ -4453,7 +3882,7 @@ irc_protocol_cmd_348 (struct t_irc_server *server, char *irc_message, char *host
{
weechat_printf (buffer,
_("%s%s[%s%s%s]%s exception %s%s%s"),
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_CHANNEL,
pos_channel,
@@ -4548,7 +3977,8 @@ irc_protocol_cmd_349 (struct t_irc_server *server, char *irc_message, char *host
if (!ignore)
{
weechat_printf (buffer,
- "%s[%s%s%s] %s%s",
+ "%s%s[%s%s%s] %s%s",
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_CHANNEL,
pos_channel,
@@ -4596,9 +4026,16 @@ irc_protocol_cmd_351 (struct t_irc_server *server, char *irc_message, char *host
if (!ignore)
{
if (pos2)
- weechat_printf (server->buffer, "%s %s", pos, pos2);
+ weechat_printf (server->buffer,
+ "%s%s %s",
+ weechat_prefix ("network"),
+ pos,
+ pos2);
else
- weechat_printf (server->buffer, "%s", pos);
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("network"),
+ pos);
}
return WEECHAT_RC_OK;
@@ -4609,126 +4046,85 @@ irc_protocol_cmd_351 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_352 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_352 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos_channel, *pos_user, *pos_host, *pos_server, *pos_nick;
char *pos_attr, *pos_hopcount, *pos_realname;
- int length;
+ int arg_start, length;
struct t_irc_channel *ptr_channel;
struct t_irc_nick *ptr_nick;
+ /* 352 message looks like:
+ :server 352 mynick #channel user host server nick (*) (H/G) :0 flashcode
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(9);
+
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
+
+ arg_start = (strcmp (argv[8], "*") == 0) ? 9 : 8;
+ if (argv[arg_start][0] == ':')
+ {
+ pos_attr = NULL;
+ pos_hopcount = (argc > arg_start) ? argv[arg_start] + 1 : NULL;
+ pos_realname = (argc > arg_start + 1) ? argv_eol[arg_start + 1] : NULL;
+ }
+ else
+ {
+ pos_attr = argv[arg_start];
+ pos_hopcount = (argc > arg_start + 1) ? argv[arg_start + 1] + 1 : NULL;
+ pos_realname = (argc > arg_start + 2) ? argv_eol[arg_start + 2] : NULL;
+ }
- pos_channel = strchr (arguments, ' ');
- if (pos_channel)
+ ptr_channel = irc_channel_search (server, argv[3]);
+ if (ptr_channel)
{
- while (pos_channel[0] == ' ')
- pos_channel++;
- pos_user = strchr (pos_channel, ' ');
- if (pos_user)
+ if (ptr_channel->checking_away > 0)
{
- pos_user[0] = '\0';
- pos_user++;
- while (pos_user[0] == ' ')
- pos_user++;
- pos_host = strchr (pos_user, ' ');
- if (pos_host)
+ ptr_nick = irc_nick_search (ptr_channel, argv[7]);
+ if (ptr_nick)
{
- pos_host[0] = '\0';
- pos_host++;
- while (pos_host[0] == ' ')
- pos_host++;
- pos_server = strchr (pos_host, ' ');
- if (pos_server)
- {
- pos_server[0] = '\0';
- pos_server++;
- while (pos_server[0] == ' ')
- pos_server++;
- pos_nick = strchr (pos_server, ' ');
- if (pos_nick)
- {
- pos_nick[0] = '\0';
- pos_nick++;
- while (pos_nick[0] == ' ')
- pos_nick++;
- pos_attr = strchr (pos_nick, ' ');
- if (pos_attr)
- {
- pos_attr[0] = '\0';
- pos_attr++;
- while (pos_attr[0] == ' ')
- pos_attr++;
- pos_hopcount = strchr (pos_attr, ' ');
- if (pos_hopcount)
- {
- pos_hopcount[0] = '\0';
- pos_hopcount++;
- while (pos_hopcount[0] == ' ')
- pos_hopcount++;
- if (pos_hopcount[0] == ':')
- pos_hopcount++;
- pos_realname = strchr (pos_hopcount, ' ');
- if (pos_realname)
- {
- pos_realname[0] = '\0';
- pos_realname++;
- while (pos_realname[0] == ' ')
- pos_realname++;
-
- ptr_channel = irc_channel_search (server, pos_channel);
- if (ptr_channel && (ptr_channel->checking_away > 0))
- {
- ptr_nick = irc_nick_search (ptr_channel, pos_nick);
- if (ptr_nick)
- {
- if (ptr_nick->host)
- free (ptr_nick->host);
- length = strlen (pos_user) + 1 + strlen (pos_host) + 1;
- ptr_nick->host = (char *)malloc (length * sizeof (char));
- if (ptr_nick->host)
- snprintf (ptr_nick->host, length, "%s@%s", pos_user, pos_host);
- irc_nick_set_away (ptr_channel, ptr_nick,
- (pos_attr[0] == 'G') ? 1 : 0);
- }
- return WEECHAT_RC_OK;
- }
-
- if (!ignore)
- {
- weechat_printf (server->buffer,
- _("%s%s%s on %s%s%s "
- "%s %s %s%s@%s "
- "%s(%s%s%s)"),
- IRC_COLOR_CHAT_NICK,
- pos_nick,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_CHANNEL,
- pos_channel,
- IRC_COLOR_CHAT,
- pos_attr,
- pos_hopcount,
- IRC_COLOR_CHAT_HOST,
- pos_user,
- pos_host,
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT,
- pos_realname,
- IRC_COLOR_CHAT_DELIMITERS);
- }
- }
- }
- }
- }
- }
+ if (ptr_nick->host)
+ free (ptr_nick->host);
+ length = strlen (argv[4]) + 1 + strlen (argv[5]) + 1;
+ ptr_nick->host = (char *)malloc (length * sizeof (char));
+ if (ptr_nick->host)
+ snprintf (ptr_nick->host, length, "%s@%s", argv[4], argv[5]);
+ if (pos_attr)
+ irc_nick_set_away (ptr_channel, ptr_nick,
+ (pos_attr[0] == 'G') ? 1 : 0);
}
}
}
+ else
+ {
+ if (!ignore)
+ {
+ weechat_printf (server->buffer,
+ "%s%s[%s%s%s] %s%s%s(%s%s@%s%s)%s "
+ "%s%s%s%s(%s)",
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[3],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_NICK,
+ argv[7],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_HOST,
+ argv[4],
+ argv[5],
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ (pos_attr) ? pos_attr : "",
+ (pos_attr) ? " " : "",
+ (pos_hopcount) ? pos_hopcount : "",
+ (pos_hopcount) ? " " : "",
+ (pos_realname) ? pos_realname : "");
+ }
+ }
return WEECHAT_RC_OK;
}
@@ -4738,182 +4134,127 @@ irc_protocol_cmd_352 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_353 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_353 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos, *pos_nick, *color;
+ char *pos_channel, *pos_nick, *color;
+ int args, i, prefix_found;
int is_chanowner, is_chanadmin, is_chanadmin2, is_op, is_halfop;
int has_voice, is_chanuser;
- int prefix_found;
struct t_irc_channel *ptr_channel;
- struct t_gui_buffer *ptr_buffer;
+
+ /* 353 message looks like:
+ :server 353 mynick = #channel :mynick nick1 @nick2 +nick3
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(5);
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
-
- pos = strstr (arguments, " = ");
- if (pos)
- arguments = pos + 3;
+
+ if (irc_channel_is_channel (argv[3]))
+ {
+ pos_channel = argv[3];
+ args = 4;
+ }
else
{
- pos = strstr (arguments, " * ");
- if (pos)
- arguments = pos + 3;
- else
- {
- pos = strstr (arguments, " @ ");
- if (pos)
- arguments = pos + 3;
- }
+ pos_channel = argv[4];
+ args = 5;
}
- pos = strchr (arguments, ' ');
- if (pos)
+
+ IRC_PROTOCOL_MIN_ARGS(args + 1);
+
+ ptr_channel = irc_channel_search (server, pos_channel);
+
+ for (i = args; i < argc; i++)
{
- pos[0] = '\0';
+ pos_nick = (argv[i][0] == ':') ? argv[i] + 1 : argv[i];
- ptr_channel = irc_channel_search (server, arguments);
- if (ptr_channel)
- ptr_buffer = ptr_channel->buffer;
- else
- ptr_buffer = server->buffer;
+ is_chanowner = 0;
+ is_chanadmin = 0;
+ is_chanadmin2 = 0;
+ is_op = 0;
+ is_halfop = 0;
+ has_voice = 0;
+ is_chanuser = 0;
+ prefix_found = 1;
- pos++;
- while (pos[0] == ' ')
- pos++;
- if (pos[0] != ':')
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc", "353");
- return WEECHAT_RC_ERROR;
- }
-
- /* channel is not joined => display users on server buffer */
- if (!ignore && !ptr_channel)
- {
- /* display users on channel */
- //weechat_printf (ptr_buffer,
- // _("Nicks %s%s%s: %s["),
- // IRC_COLOR_CHAT_CHANNEL,
- // arguments,
- // IRC_COLOR_CHAT,
- // IRC_COLOR_CHAT_DELIMITERS);
- }
-
- pos++;
- if (pos[0])
+ while (prefix_found)
{
- while (pos && pos[0])
+ prefix_found = 0;
+
+ if (irc_mode_nick_prefix_allowed (server, pos_nick[0]))
{
- is_chanowner = 0;
- is_chanadmin = 0;
- is_chanadmin2 = 0;
- is_op = 0;
- is_halfop = 0;
- has_voice = 0;
- is_chanuser = 0;
prefix_found = 1;
-
- while (prefix_found)
+ switch (pos_nick[0])
{
- prefix_found = 0;
-
- if (irc_mode_nick_prefix_allowed (server, pos[0]))
- {
- prefix_found = 1;
- switch (pos[0])
- {
- case '@': /* op */
- is_op = 1;
- color = IRC_COLOR_NICKLIST_PREFIX1;
- break;
- case '~': /* channel owner */
- is_chanowner = 1;
- color = IRC_COLOR_NICKLIST_PREFIX1;
- break;
- case '&': /* channel admin */
- is_chanadmin = 1;
- color = IRC_COLOR_NICKLIST_PREFIX1;
- break;
- case '!': /* channel admin (2) */
- is_chanadmin2 = 1;
- color = IRC_COLOR_NICKLIST_PREFIX1;
- break;
- case '%': /* half-op */
- is_halfop = 1;
- color = IRC_COLOR_NICKLIST_PREFIX2;
- break;
- case '+': /* voice */
- has_voice = 1;
- color = IRC_COLOR_NICKLIST_PREFIX3;
- break;
- case '-': /* channel user */
- is_chanuser = 1;
- color = IRC_COLOR_NICKLIST_PREFIX4;
- break;
- default:
- color = IRC_COLOR_CHAT;
- break;
- }
- if (!ignore && !ptr_channel)
- weechat_printf (ptr_buffer, "%s%c",
- color, pos[0]);
- }
- if (prefix_found)
- pos++;
- }
- pos_nick = pos;
- pos = strchr (pos, ' ');
- if (pos)
- {
- pos[0] = '\0';
- pos++;
- }
- if (ptr_channel)
- {
- if (!irc_nick_new (server, ptr_channel, pos_nick,
- is_chanowner, is_chanadmin, is_chanadmin2,
- is_op, is_halfop, has_voice, is_chanuser))
- {
- weechat_printf (server->buffer,
- _("%s%s: cannot create nick \"%s\" "
- "for channel \"%s\""),
- weechat_prefix ("error"), "irc",
- pos_nick, ptr_channel->name);
- }
- }
- else
- {
- if (!ignore)
- {
- weechat_printf (ptr_buffer, "%s%s",
- IRC_COLOR_CHAT, pos_nick);
- if (pos && pos[0])
- weechat_printf (ptr_buffer, " ");
- }
+ case '@': /* op */
+ is_op = 1;
+ color = IRC_COLOR_NICKLIST_PREFIX1;
+ break;
+ case '~': /* channel owner */
+ is_chanowner = 1;
+ color = IRC_COLOR_NICKLIST_PREFIX1;
+ break;
+ case '&': /* channel admin */
+ is_chanadmin = 1;
+ color = IRC_COLOR_NICKLIST_PREFIX1;
+ break;
+ case '!': /* channel admin (2) */
+ is_chanadmin2 = 1;
+ color = IRC_COLOR_NICKLIST_PREFIX1;
+ break;
+ case '%': /* half-op */
+ is_halfop = 1;
+ color = IRC_COLOR_NICKLIST_PREFIX2;
+ break;
+ case '+': /* voice */
+ has_voice = 1;
+ color = IRC_COLOR_NICKLIST_PREFIX3;
+ break;
+ case '-': /* channel user */
+ is_chanuser = 1;
+ color = IRC_COLOR_NICKLIST_PREFIX4;
+ break;
+ default:
+ color = IRC_COLOR_CHAT;
+ break;
}
}
+ if (prefix_found)
+ pos_nick++;
}
- if (ptr_channel)
- {
- //gui_nicklist_draw (ptr_channel->buffer, 1, 1);
- //gui_status_draw (ptr_channel->buffer, 1);
- }
- else
+ if (ptr_channel && ptr_channel->nicks)
{
- if (!ignore)
- weechat_printf (ptr_buffer, "%s]", IRC_COLOR_CHAT_DELIMITERS);
+ if (!irc_nick_new (server, ptr_channel, pos_nick,
+ is_chanowner, is_chanadmin, is_chanadmin2,
+ is_op, is_halfop, has_voice, is_chanuser))
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: cannot create nick \"%s\" "
+ "for channel \"%s\""),
+ weechat_prefix ("error"), "irc",
+ pos_nick, ptr_channel->name);
+ }
}
}
- else
+
+ if (!ignore)
{
- weechat_printf (server->buffer,
- _("%s%s: cannot parse \"%s\" command"),
- weechat_prefix ("error"), "irc", "353");
- return WEECHAT_RC_ERROR;
+ weechat_printf ((ptr_channel && ptr_channel->nicks) ?
+ ptr_channel->buffer : server->buffer,
+ _("%sNicks %s%s%s: %s[%s%s%s]"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ pos_channel,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT,
+ (argv_eol[args][0] == ':') ?
+ argv_eol[args] + 1 : argv_eol[args],
+ IRC_COLOR_CHAT_DELIMITERS);
}
return WEECHAT_RC_OK;
@@ -4924,110 +4265,74 @@ irc_protocol_cmd_353 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_366 (struct t_irc_server *server, char *irc_message, char *host,
- char *nick, char *arguments, int ignore, int highlight)
+irc_protocol_cmd_366 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
- char *pos, *pos2;
struct t_irc_channel *ptr_channel;
- //struct t_irc_nick *ptr_nick;
int num_nicks, num_op, num_halfop, num_voice, num_normal;
+ /* 366 message looks like:
+ :server 366 mynick #channel :End of /NAMES list.
+ */
+
+ IRC_PROTOCOL_MIN_ARGS(5);
+
/* make C compiler happy */
- (void) irc_message;
- (void) host;
- (void) nick;
(void) highlight;
- pos = strchr (arguments, ' ');
- if (pos)
+ ptr_channel = irc_channel_search (server, argv[3]);
+ if (ptr_channel && ptr_channel->nicks)
{
- while (pos[0] == ' ')
- pos++;
- pos2 = strchr (pos, ' ');
- if (pos2)
+ if (!ignore)
{
- pos2[0] = '\0';
- pos2++;
- while (pos2[0] == ' ')
- pos2++;
- if (pos2[0] == ':')
- pos2++;
-
- ptr_channel = irc_channel_search (server, pos);
- if (ptr_channel)
- {
- if (!ignore)
- {
- /* display users on channel */
- //weechat_printf (ptr_channel->buffer,
- // _("Nicks %s%s%s: %s["),
- // IRC_COLOR_CHAT_CHANNEL,
- // ptr_channel->name,
- // IRC_COLOR_CHAT,
- // IRC_COLOR_CHAT_DELIMITERS);
-
- /*
- for (ptr_nick = ptr_channel->nicks; ptr_nick; ptr_nick = ptr_nick->next_nick)
- {
- irc_display_nick (ptr_channel->buffer, ptr_nick, NULL,
- GUI_MSG_TYPE_MSG, 0,
- IRC_COLOR_CHAT, 1);
- if (ptr_nick != ptr_channel->last_nick)
- gui_chat_printf (ptr_channel->buffer, " ");
- }
- */
- //weechat_printf (ptr_channel->buffer, "%s]",
- // IRC_COLOR_CHAT_DELIMITERS);
-
- /* display number of nicks, ops, halfops & voices on the channel */
- irc_nick_count (ptr_channel, &num_nicks, &num_op, &num_halfop, &num_voice,
- &num_normal);
- weechat_printf (ptr_channel->buffer,
- _("%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, "
- "%s%d%s %s, %s%d%s %s, %s%d%s %s%s)"),
- weechat_prefix ("info"),
- IRC_COLOR_CHAT_CHANNEL,
- ptr_channel->name,
- IRC_COLOR_CHAT,
- IRC_COLOR_CHAT_CHANNEL,
- num_nicks,
- IRC_COLOR_CHAT,
- (num_nicks > 1) ? _("nicks") : _("nick"),
- IRC_COLOR_CHAT_DELIMITERS,
- IRC_COLOR_CHAT_CHANNEL,
- num_op,
- IRC_COLOR_CHAT,
- (num_op > 1) ? _("ops") : _("op"),
- IRC_COLOR_CHAT_CHANNEL,
- num_halfop,
- IRC_COLOR_CHAT,
- (num_halfop > 1) ? _("halfops") : _("halfop"),
- IRC_COLOR_CHAT_CHANNEL,
- num_voice,
- IRC_COLOR_CHAT,
- (num_voice > 1) ? _("voices") : _("voice"),
- IRC_COLOR_CHAT_CHANNEL,
- num_normal,
- IRC_COLOR_CHAT,
- _("normal"),
- IRC_COLOR_CHAT_DELIMITERS);
- }
- irc_command_mode_server (server, ptr_channel->name);
- irc_channel_check_away (server, ptr_channel, 1);
- }
- else
- {
- if (!ignore)
- {
- //weechat_printf (server->buffer,
- // "%s%s%s: %s",
- // IRC_COLOR_CHAT_CHANNEL,
- // pos,
- // IRC_COLOR_CHAT,
- // pos2);
- }
- return WEECHAT_RC_OK;
- }
+ /* display number of nicks, ops, halfops & voices on the channel */
+ irc_nick_count (ptr_channel, &num_nicks, &num_op, &num_halfop,
+ &num_voice, &num_normal);
+ weechat_printf (ptr_channel->buffer,
+ _("%sChannel %s%s%s: %s%d%s %s %s(%s%d%s %s, "
+ "%s%d%s %s, %s%d%s %s, %s%d%s %s%s)"),
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ ptr_channel->name,
+ IRC_COLOR_CHAT,
+ IRC_COLOR_CHAT_CHANNEL,
+ num_nicks,
+ IRC_COLOR_CHAT,
+ (num_nicks > 1) ? _("nicks") : _("nick"),
+ IRC_COLOR_CHAT_DELIMITERS,
+ IRC_COLOR_CHAT_CHANNEL,
+ num_op,
+ IRC_COLOR_CHAT,
+ (num_op > 1) ? _("ops") : _("op"),
+ IRC_COLOR_CHAT_CHANNEL,
+ num_halfop,
+ IRC_COLOR_CHAT,
+ (num_halfop > 1) ? _("halfops") : _("halfop"),
+ IRC_COLOR_CHAT_CHANNEL,
+ num_voice,
+ IRC_COLOR_CHAT,
+ (num_voice > 1) ? _("voices") : _("voice"),
+ IRC_COLOR_CHAT_CHANNEL,
+ num_normal,
+ IRC_COLOR_CHAT,
+ _("normal"),
+ IRC_COLOR_CHAT_DELIMITERS);
+ }
+ irc_command_mode_server (server, ptr_channel->name);
+ irc_channel_check_away (server, ptr_channel, 1);
+ }
+ else
+ {
+ if (!ignore)
+ {
+ weechat_printf (server->buffer,
+ "%s%s%s%s: %s",
+ weechat_prefix ("network"),
+ IRC_COLOR_CHAT_CHANNEL,
+ argv[3],
+ IRC_COLOR_CHAT,
+ (argv[4][0] == ':') ? argv_eol[4] + 1 : argv_eol[4]);
}
}
@@ -5110,7 +4415,8 @@ irc_protocol_cmd_367 (struct t_irc_server *server, char *irc_message, char *host
if (pos_user)
{
weechat_printf (buffer,
- _("%s[%s%s%s] %s%s%s banned by "),
+ _("%s%s[%s%s%s] %s%s%s banned by "),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_CHANNEL,
pos_channel,
@@ -5132,10 +4438,12 @@ irc_protocol_cmd_367 (struct t_irc_server *server, char *irc_message, char *host
IRC_COLOR_CHAT_DELIMITERS);
}
else
+ {
weechat_printf (buffer,
"%s%s",
IRC_COLOR_CHAT_NICK,
pos_user);
+ }
if (pos_date)
{
datetime = (time_t)(atol (pos_date));
@@ -5148,7 +4456,7 @@ irc_protocol_cmd_367 (struct t_irc_server *server, char *irc_message, char *host
else
weechat_printf (buffer,
_("%s%s[%s%s%s] %s%s%s banned"),
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_CHANNEL,
pos_channel,
@@ -5214,7 +4522,7 @@ irc_protocol_cmd_368 (struct t_irc_server *server, char *irc_message, char *host
{
weechat_printf (buffer,
"%s%s[%s%s%s] %s%s",
- weechat_prefix ("info"),
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_CHANNEL,
pos_channel,
@@ -5231,14 +4539,16 @@ irc_protocol_cmd_368 (struct t_irc_server *server, char *irc_message, char *host
*/
int
-irc_protocol_cmd_432 (struct t_irc_server *server, int argc, char **argv,
- char **argv_eol, int ignore, int highlight)
+irc_protocol_cmd_432 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
/* Note: this IRC command can not be ignored */
int i, nick_found, nick_to_use;
- irc_protocol_cmd_error (server, argc, argv, argv_eol, ignore, highlight);
+ irc_protocol_cmd_error (server, command, argc, argv, argv_eol, ignore,
+ highlight);
if (!server->is_connected)
{
@@ -5273,7 +4583,7 @@ irc_protocol_cmd_432 (struct t_irc_server *server, int argc, char **argv,
weechat_printf (server->buffer,
_("%s%s: nickname \"%s\" is invalid, "
"trying nickname #%d (\"%s\")"),
- weechat_prefix ("info"), "irc", server->nick,
+ weechat_prefix ("error"), "irc", server->nick,
nick_to_use + 1, server->nicks_array[nick_to_use]);
irc_server_set_nick (server, server->nicks_array[nick_to_use]);
@@ -5289,8 +4599,9 @@ irc_protocol_cmd_432 (struct t_irc_server *server, int argc, char **argv,
*/
int
-irc_protocol_cmd_433 (struct t_irc_server *server, int argc, char **argv,
- char **argv_eol, int ignore, int highlight)
+irc_protocol_cmd_433 (struct t_irc_server *server, char *command,
+ int argc, char **argv, char **argv_eol,
+ int ignore, int highlight)
{
/* Note: this IRC command can not be ignored */
@@ -5337,8 +4648,10 @@ irc_protocol_cmd_433 (struct t_irc_server *server, int argc, char **argv,
irc_server_sendf (server, "NICK %s", server->nick);
}
else
- return irc_protocol_cmd_error (server, argc, argv, argv_eol, ignore,
- highlight);
+ {
+ return irc_protocol_cmd_error (server, command, argc, argv, argv_eol,
+ ignore, highlight);
+ }
return WEECHAT_RC_OK;
}
@@ -5374,16 +4687,26 @@ irc_protocol_cmd_438 (struct t_irc_server *server, char *irc_message, char *host
pos2[0] = '\0';
pos2 += 2;
weechat_printf (server->buffer,
- "%s (%s => %s)",
- pos2, arguments, pos);
+ "%s%s (%s => %s)",
+ weechat_prefix ("network"),
+ pos2,
+ arguments,
+ pos);
}
else
weechat_printf (server->buffer,
- "%s (%s)",
- pos, arguments);
+ "%s%s (%s)",
+ weechat_prefix ("network"),
+ pos,
+ arguments);
}
else
- weechat_printf (server->buffer, "%s", arguments);
+ {
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("network"),
+ arguments);
+ }
}
return WEECHAT_RC_OK;
@@ -5423,7 +4746,8 @@ irc_protocol_cmd_671 (struct t_irc_server *server, char *irc_message, char *host
pos_message++;
weechat_printf (server->buffer,
- "%s[%s%s%s] %s%s",
+ "%s%s[%s%s%s] %s%s",
+ weechat_prefix ("network"),
IRC_COLOR_CHAT_DELIMITERS,
IRC_COLOR_CHAT_NICK,
pos_nick,
@@ -5436,3 +4760,271 @@ irc_protocol_cmd_671 (struct t_irc_server *server, char *irc_message, char *host
return WEECHAT_RC_OK;
}
+
+/*
+ * irc_protocol_is_numeric_command: return 1 if given string is 100% numeric
+ */
+
+int
+irc_protocol_is_numeric_command (char *str)
+{
+ while (str && str[0])
+ {
+ if (!isdigit (str[0]))
+ return 0;
+ str++;
+ }
+ return 1;
+}
+
+/*
+ * irc_protocol_recv_command: executes action when receiving IRC command
+ * return: 0 = all ok, command executed
+ * -1 = command failed
+ * -2 = no command to execute
+ * -3 = command not found
+ */
+
+void
+irc_protocol_recv_command (struct t_irc_server *server, char *entire_line,
+ char *host, char *command, char *arguments)
+{
+ int i, cmd_found, return_code, ignore, highlight, argc;
+ char *pos, *nick;
+ char *dup_entire_line, *dup_host, *dup_arguments, *irc_message;
+ t_irc_recv_func *cmd_recv_func;
+ t_irc_recv_func2 *cmd_recv_func2;
+ char *cmd_name, **argv, **argv_eol;
+ struct t_irc_protocol_msg irc_protocol_messages[] =
+ { { "error", N_("error received from IRC server"), NULL, &irc_protocol_cmd_error },
+ { "invite", N_("invite a nick on a channel"), NULL, &irc_protocol_cmd_invite },
+ { "join", N_("join a channel"), NULL, &irc_protocol_cmd_join },
+ { "kick", N_("forcibly remove a user from a channel"), NULL, &irc_protocol_cmd_kick },
+ { "kill", N_("close client-server connection"), NULL, &irc_protocol_cmd_kill },
+ { "mode", N_("change channel or user mode"), NULL, &irc_protocol_cmd_mode },
+ { "nick", N_("change current nickname"), NULL, &irc_protocol_cmd_nick },
+ { "notice", N_("send notice message to user"), NULL, &irc_protocol_cmd_notice },
+ { "part", N_("leave a channel"), NULL, &irc_protocol_cmd_part },
+ { "ping", N_("ping server"), NULL, &irc_protocol_cmd_ping },
+ { "pong", N_("answer to a ping message"), NULL, &irc_protocol_cmd_pong },
+ { "privmsg", N_("message received"), NULL, &irc_protocol_cmd_privmsg },
+ { "quit", N_("close all connections and quit"), NULL, &irc_protocol_cmd_quit },
+ { "topic", N_("get/set channel topic"), NULL, &irc_protocol_cmd_topic },
+ { "wallops", N_("send a message to all currently connected users who have "
+ "set the 'w' user mode "
+ "for themselves"), NULL, &irc_protocol_cmd_wallops },
+ { "001", N_("a server message"), NULL, &irc_protocol_cmd_001 },
+ { "005", N_("a server message"), NULL, &irc_protocol_cmd_005 },
+ { "221", N_("user mode string"), NULL, &irc_protocol_cmd_221 },
+ { "301", N_("away message"), NULL, &irc_protocol_cmd_301 },
+ { "303", N_("ison"), NULL, &irc_protocol_cmd_303 },
+ { "305", N_("unaway"), NULL, &irc_protocol_cmd_305 },
+ { "306", N_("now away"), NULL, &irc_protocol_cmd_306 },
+ { "307", N_("whois (registered nick)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "310", N_("whois (help mode)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "311", N_("whois (user)"), NULL, &irc_protocol_cmd_311 },
+ { "312", N_("whois (server)"), NULL, &irc_protocol_cmd_312 },
+ { "313", N_("whois (operator)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "314", N_("whowas"), NULL, &irc_protocol_cmd_314 },
+ { "315", N_("end of /who list"), NULL, &irc_protocol_cmd_315 },
+ { "317", N_("whois (idle)"), NULL, &irc_protocol_cmd_317 },
+ { "318", N_("whois (end)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "319", N_("whois (channels)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "320", N_("whois (identified user)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "321", N_("/list start"), NULL, &irc_protocol_cmd_321 },
+ { "322", N_("channel (for /list)"), NULL, &irc_protocol_cmd_322 },
+ { "323", N_("end of /list"), NULL, &irc_protocol_cmd_323 },
+ { "324", N_("channel mode"), &irc_protocol_cmd_324, NULL },
+ { "326", N_("whois (has oper privs)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "327", N_("whois (host)"), &irc_protocol_cmd_327, NULL },
+ { "329", N_("channel creation date"), NULL, &irc_protocol_cmd_329 },
+ { "331", N_("no topic for channel"), NULL, &irc_protocol_cmd_331 },
+ { "332", N_("topic of channel"), NULL, &irc_protocol_cmd_332 },
+ { "333", N_("infos about topic (nick and date changed)"), NULL, &irc_protocol_cmd_333 },
+ { "338", N_("whois (host)"), &irc_protocol_cmd_338, NULL },
+ { "341", N_("inviting"), &irc_protocol_cmd_341, NULL },
+ { "344", N_("channel reop"), &irc_protocol_cmd_344, NULL },
+ { "345", N_("end of channel reop list"), &irc_protocol_cmd_345, NULL },
+ { "348", N_("channel exception list"), &irc_protocol_cmd_348, NULL },
+ { "349", N_("end of channel exception list"), &irc_protocol_cmd_349, NULL },
+ { "351", N_("server version"), &irc_protocol_cmd_351, NULL },
+ { "352", N_("who"), NULL, &irc_protocol_cmd_352 },
+ { "353", N_("list of nicks on channel"), NULL, &irc_protocol_cmd_353 },
+ { "366", N_("end of /names list"), NULL, &irc_protocol_cmd_366 },
+ { "367", N_("banlist"), &irc_protocol_cmd_367, NULL },
+ { "368", N_("end of banlist"), &irc_protocol_cmd_368, NULL },
+ { "378", N_("whois (connecting from)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "379", N_("whois (using modes)"), NULL, &irc_protocol_cmd_whois_nick_msg },
+ { "401", N_("no such nick/channel"), NULL, &irc_protocol_cmd_error },
+ { "402", N_("no such server"), NULL, &irc_protocol_cmd_error },
+ { "403", N_("no such channel"), NULL, &irc_protocol_cmd_error },
+ { "404", N_("cannot send to channel"), NULL, &irc_protocol_cmd_error },
+ { "405", N_("too many channels"), NULL, &irc_protocol_cmd_error },
+ { "406", N_("was no such nick"), NULL, &irc_protocol_cmd_error },
+ { "407", N_("was no such nick"), NULL, &irc_protocol_cmd_error },
+ { "409", N_("no origin"), NULL, &irc_protocol_cmd_error },
+ { "410", N_("no services"), NULL, &irc_protocol_cmd_error },
+ { "411", N_("no recipient"), NULL, &irc_protocol_cmd_error },
+ { "412", N_("no text to send"), NULL, &irc_protocol_cmd_error },
+ { "413", N_("no toplevel"), NULL, &irc_protocol_cmd_error },
+ { "414", N_("wilcard in toplevel domain"), NULL, &irc_protocol_cmd_error },
+ { "421", N_("unknown command"), NULL, &irc_protocol_cmd_error },
+ { "422", N_("MOTD is missing"), NULL, &irc_protocol_cmd_error },
+ { "423", N_("no administrative info"), NULL, &irc_protocol_cmd_error },
+ { "424", N_("file error"), NULL, &irc_protocol_cmd_error },
+ { "431", N_("no nickname given"), NULL, &irc_protocol_cmd_error },
+ { "432", N_("erroneous nickname"), NULL, &irc_protocol_cmd_432 },
+ { "433", N_("nickname already in use"), NULL, &irc_protocol_cmd_433 },
+ { "436", N_("nickname collision"), NULL, &irc_protocol_cmd_error },
+ { "437", N_("resource unavailable"), NULL, &irc_protocol_cmd_error },
+ { "438", N_("not authorized to change nickname"), &irc_protocol_cmd_438, NULL },
+ { "441", N_("user not in channel"), NULL, &irc_protocol_cmd_error },
+ { "442", N_("not on channel"), NULL, &irc_protocol_cmd_error },
+ { "443", N_("user already on channel"), NULL, &irc_protocol_cmd_error },
+ { "444", N_("user not logged in"), NULL, &irc_protocol_cmd_error },
+ { "445", N_("summon has been disabled"), NULL, &irc_protocol_cmd_error },
+ { "446", N_("users has been disabled"), NULL, &irc_protocol_cmd_error },
+ { "451", N_("you are not registered"), NULL, &irc_protocol_cmd_error },
+ { "461", N_("not enough parameters"), NULL, &irc_protocol_cmd_error },
+ { "462", N_("you may not register"), NULL, &irc_protocol_cmd_error },
+ { "463", N_("your host isn't among the privileged"), NULL, &irc_protocol_cmd_error },
+ { "464", N_("password incorrect"), NULL, &irc_protocol_cmd_error },
+ { "465", N_("you are banned from this server"), NULL, &irc_protocol_cmd_error },
+ { "467", N_("channel key already set"), NULL, &irc_protocol_cmd_error },
+ { "470", N_("forwarding to another channel"), NULL, &irc_protocol_cmd_error },
+ { "471", N_("channel is already full"), NULL, &irc_protocol_cmd_error },
+ { "472", N_("unknown mode char to me"), NULL, &irc_protocol_cmd_error },
+ { "473", N_("cannot join channel (invite only)"), NULL, &irc_protocol_cmd_error },
+ { "474", N_("cannot join channel (banned from channel)"), NULL, &irc_protocol_cmd_error },
+ { "475", N_("cannot join channel (bad channel key)"), NULL, &irc_protocol_cmd_error },
+ { "476", N_("bad channel mask"), NULL, &irc_protocol_cmd_error },
+ { "477", N_("channel doesn't support modes"), NULL, &irc_protocol_cmd_error },
+ { "481", N_("you're not an IRC operator"), NULL, &irc_protocol_cmd_error },
+ { "482", N_("you're not channel operator"), NULL, &irc_protocol_cmd_error },
+ { "483", N_("you can't kill a server!"), NULL, &irc_protocol_cmd_error },
+ { "484", N_("your connection is restricted!"), NULL, &irc_protocol_cmd_error },
+ { "485", N_("user is immune from kick/deop"), NULL, &irc_protocol_cmd_error },
+ { "487", N_("network split"), NULL, &irc_protocol_cmd_error },
+ { "491", N_("no O-lines for your host"), NULL, &irc_protocol_cmd_error },
+ { "501", N_("unknown mode flag"), NULL, &irc_protocol_cmd_error },
+ { "502", N_("can't change mode for other users"), NULL, &irc_protocol_cmd_error },
+ { "671", N_("whois (secure connection)"), &irc_protocol_cmd_671, NULL },
+ { "973", N_("whois (secure connection)"), NULL, &irc_protocol_cmd_server_mode_reason },
+ { "974", N_("whois (secure connection)"), NULL, &irc_protocol_cmd_server_mode_reason },
+ { "975", N_("whois (secure connection)"), NULL, &irc_protocol_cmd_server_mode_reason },
+ { NULL, NULL, NULL, NULL }
+ };
+
+ if (!command)
+ return;
+
+ /* look for IRC command */
+ cmd_found = -1;
+ for (i = 0; irc_protocol_messages[i].name; i++)
+ {
+ if (weechat_strcasecmp (irc_protocol_messages[i].name, command) == 0)
+ {
+ cmd_found = i;
+ break;
+ }
+ }
+
+ /* command not found */
+ if (cmd_found < 0)
+ {
+ /* for numeric commands, we use default recv function */
+ if (irc_protocol_is_numeric_command (command))
+ {
+ cmd_name = command;
+ cmd_recv_func = NULL;
+ cmd_recv_func2 = irc_protocol_cmd_numeric;
+ }
+ else
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: command \"%s\" not found:"),
+ weechat_prefix ("error"), "irc", command);
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("error"), entire_line);
+ return;
+ }
+ }
+ else
+ {
+ cmd_name = irc_protocol_messages[cmd_found].name;
+ cmd_recv_func = irc_protocol_messages[cmd_found].recv_function;
+ cmd_recv_func2 = irc_protocol_messages[cmd_found].recv_function2;
+ }
+
+ if ((cmd_recv_func != NULL) || (cmd_recv_func2 != NULL))
+ {
+ argv = weechat_string_explode (entire_line, " ", 0, 0, &argc);
+ argv_eol = weechat_string_explode (entire_line, " ", 1, 0, NULL);
+ dup_entire_line = (entire_line) ? strdup (entire_line) : NULL;
+ dup_host = (host) ? strdup (host) : NULL;
+ dup_arguments = (arguments) ? strdup (arguments) : NULL;
+
+ ignore = 0;
+ highlight = 0;
+
+ //return_code = plugin_msg_handler_exec (server->name,
+ // cmd_name,
+ // dup_entire_line);
+ /* plugin handler choosed to discard message for WeeChat,
+ so we ignore this message in standard handler */
+ //if (return_code & PLUGIN_RC_OK_IGNORE_WEECHAT)
+ // ignore = 1;
+ /* plugin asked for highlight ? */
+ //if (return_code & PLUGIN_RC_OK_WITH_HIGHLIGHT)
+ // highlight = 1;
+
+ pos = (dup_host) ? strchr (dup_host, '!') : NULL;
+ if (pos)
+ pos[0] = '\0';
+ nick = (dup_host) ? strdup (dup_host) : NULL;
+ if (pos)
+ pos[0] = '!';
+ irc_message = strdup (dup_entire_line);
+
+ if (cmd_recv_func2 != NULL)
+ {
+ return_code = (int) (cmd_recv_func2) (server, cmd_name,
+ argc, argv, argv_eol,
+ ignore, highlight);
+ }
+ else
+ {
+ return_code = (int) (cmd_recv_func) (server, irc_message,
+ dup_host, nick,
+ dup_arguments,
+ ignore, highlight);
+ }
+
+ if (return_code == WEECHAT_RC_ERROR)
+ {
+ weechat_printf (server->buffer,
+ _("%s%s: failed to parse command \"%s\" (please "
+ "report to developers):"),
+ weechat_prefix ("error"), "irc", command);
+ weechat_printf (server->buffer,
+ "%s%s",
+ weechat_prefix ("error"), entire_line);
+ }
+
+ if (irc_message)
+ free (irc_message);
+ if (nick)
+ free (nick);
+ if (dup_entire_line)
+ free (dup_entire_line);
+ if (dup_host)
+ free (dup_host);
+ if (dup_arguments)
+ free (dup_arguments);
+ if (argv)
+ weechat_string_free_exploded (argv);
+ if (argv_eol)
+ weechat_string_free_exploded (argv_eol);
+ }
+}
diff --git a/src/plugins/irc/irc-protocol.h b/src/plugins/irc/irc-protocol.h
index 84fe84f08..f831b7448 100644
--- a/src/plugins/irc/irc-protocol.h
+++ b/src/plugins/irc/irc-protocol.h
@@ -20,13 +20,35 @@
#ifndef __WEECHAT_IRC_PROTOCOL_H
#define __WEECHAT_IRC_PROTOCOL_H 1
-#include "irc-server.h"
+#define IRC_PROTOCOL_MIN_ARGS(__min_args) \
+ if (argc < __min_args) \
+ { \
+ weechat_printf (server->buffer, \
+ _("%s%s: too few arguments received from IRC " \
+ "server for command \"%s\" (received: %d " \
+ "arguments, expected: at least %d)"), \
+ weechat_prefix ("error"), "irc", command, \
+ argc, __min_args); \
+ return WEECHAT_RC_ERROR; \
+ }
+
+#define IRC_PROTOCOL_CHECK_HOST \
+ if (argv[0][0] != ':') \
+ { \
+ weechat_printf (server->buffer, \
+ _("%s%s: \"%s\" command received without " \
+ "host"), \
+ weechat_prefix ("error"), "irc", command); \
+ return WEECHAT_RC_ERROR; \
+ }
+
+struct t_irc_server;
typedef int (t_irc_recv_func)(struct t_irc_server *server, char *irc_message,
char *host, char *nick, char *arguments,
int ignore, int highlight);
-typedef int (t_irc_recv_func2)(struct t_irc_server *server, int argc,
- char **argv, char **argv_eol,
+typedef int (t_irc_recv_func2)(struct t_irc_server *server, char *comand,
+ int argc, char **argv, char **argv_eol,
int ignore, int highlight);
struct t_irc_protocol_msg
@@ -37,67 +59,8 @@ struct t_irc_protocol_msg
t_irc_recv_func2 *recv_function2; /* function called when msg is received */
};
-extern int irc_protocol_is_highlight (char *message, char *nick);
-extern int irc_protocol_recv_command (struct t_irc_server *server, char *entire_line, char *host, char *command, char *arguments);
-extern int irc_protocol_cmd_error (struct t_irc_server *server, int argc, char **argv, char **argv_eol, int ignore, int highlight);
-extern int irc_protocol_cmd_invite (struct t_irc_server *server, int argc, char **argv, char **argv_eol, int ignore, int highlight);
-extern int irc_protocol_cmd_join (struct t_irc_server *server, int argc, char **argv, char **argv_eol, int ignore, int highlight);
-extern int irc_protocol_cmd_kick (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_kill (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_mode (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_nick (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_notice (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_part (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_ping (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_pong (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_privmsg (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_quit (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_server_mode_reason (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_server_msg (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_server_reply (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_topic (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_wallops (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_001 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_005 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_221 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_301 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_302 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_303 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_305 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_306 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_whois_nick_msg (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_310 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_311 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_312 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_314 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_315 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_317 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_319 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_321 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_322 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_323 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_324 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_327 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_329 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_331 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_332 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_333 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_338 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_341 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_344 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_345 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_348 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_349 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_351 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_352 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_353 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_365 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_366 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_367 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_368 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_432 (struct t_irc_server *server, int argc, char **argv, char **argv_eol, int ignore, int highlight);
-extern int irc_protocol_cmd_433 (struct t_irc_server *server, int argc, char **argv, char **argv_eol, int ignore, int highlight);
-extern int irc_protocol_cmd_438 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
-extern int irc_protocol_cmd_671 (struct t_irc_server *server, char *irc_message, char *host, char *nick, char *arguments, int ignore, int highlight);
+extern void irc_protocol_recv_command (struct t_irc_server *server,
+ char *entire_line, char *host,
+ char *command, char *arguments);
#endif /* irc-protocol.h */
diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c
index bd1d257f4..5202d8002 100644
--- a/src/plugins/irc/irc-server.c
+++ b/src/plugins/irc/irc-server.c
@@ -1431,36 +1431,14 @@ irc_server_msgq_flush ()
ptr_msg);
free (modifier_data);
}
- switch (irc_protocol_recv_command (irc_recv_msgq->server,
- (msg_decoded) ?
- msg_decoded : ptr_msg,
- host, command,
- arguments))
- {
- case -1:
- weechat_printf (irc_recv_msgq->server->buffer,
- _("%s%s: command \"%s\" "
- "failed"),
- weechat_prefix ("error"),
- "irc", command);
- break;
- case -2:
- weechat_printf (irc_recv_msgq->server->buffer,
- _("%s%s: no command to "
- "execute"),
- weechat_prefix ("error"),
- "irc");
- break;
- case -3:
- weechat_printf (irc_recv_msgq->server->buffer,
- _("%s%s: unknown command: "
- "cmd=\"%s\", "
- "host=\"%s\", "
- "arguments=\"%s\""),
- weechat_prefix ("error"),
- "irc", command, host, arguments);
- break;
- }
+
+ /* parse and execute command */
+ irc_protocol_recv_command (irc_recv_msgq->server,
+ (msg_decoded) ?
+ msg_decoded : ptr_msg,
+ host,
+ command,
+ arguments);
if (host)
free (host);
@@ -1543,7 +1521,7 @@ irc_server_recv_cb (void *arg_server)
* on servers
*/
-void
+int
irc_server_timer_cb (void *data)
{
struct t_irc_server *ptr_server;
@@ -1608,6 +1586,8 @@ irc_server_timer_cb (void *data)
}
}
}
+
+ return WEECHAT_RC_OK;
}
/*
diff --git a/src/plugins/irc/irc-server.h b/src/plugins/irc/irc-server.h
index e21b044ff..5fb33d46b 100644
--- a/src/plugins/irc/irc-server.h
+++ b/src/plugins/irc/irc-server.h
@@ -35,12 +35,12 @@
#define IRC_SERVER_DEFAULT_NICKS "weechat1,weechat2,weechat3," \
"weechat4,weechat5"
-#define irc_server_sendf_queued(server, fmt, argz...) \
- if (server) \
- { \
- server->queue_msg = 1; \
- irc_server_sendf (server, fmt, ##argz); \
- server->queue_msg = 0; \
+#define irc_server_sendf_queued(server, fmt, argz...) \
+ if (server) \
+ { \
+ server->queue_msg = 1; \
+ irc_server_sendf (server, fmt, ##argz); \
+ server->queue_msg = 0; \
}
/* output queue of messages to server (for sending slowly to server) */
@@ -170,7 +170,7 @@ extern void irc_server_parse_message (char *message, char **nick,
char **host, char **command,
char **channel, char **arguments);
extern int irc_server_recv_cb (void *arg_server);
-extern void irc_server_timer_cb (void *empty);
+extern int irc_server_timer_cb (void *data);
extern void irc_server_timer_check_away (void *empty);
extern int irc_server_child_read (void *arg_server);
extern void irc_server_convbase64_8x3_to_6x4 (char *from, char *to);
diff --git a/src/plugins/irc/irc.c b/src/plugins/irc/irc.c
index 53fa94036..5e0ec8379 100644
--- a/src/plugins/irc/irc.c
+++ b/src/plugins/irc/irc.c
@@ -144,15 +144,15 @@ weechat_plugin_init (struct t_weechat_plugin *plugin)
irc_server_auto_connect (1, 0);
+ irc_hook_timer = weechat_hook_timer (1 * 1000, 0, 0,
+ &irc_server_timer_cb, NULL);
+
/*
- irc_timer = weechat_hook_timer (1 * 1000, 0,
- &irc_server_timer,
- NULL);
if (irc_cfg_irc_away_check != 0)
- irc_timer_check_away = weechat_hook_timer (irc_cfg_irc_away_check * 60 * 1000,
- 0,
- &irc_server_timer_check_away,
- NULL);
+ irc_hook_timer_check_away = weechat_hook_timer (irc_cfg_irc_away_check * 60 * 1000,
+ 0,
+ &irc_server_timer_check_away,
+ NULL);
*/
return WEECHAT_RC_OK;