From 693246a61a24f31742fc3c78bd1a69463f9cc4e4 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Fri, 18 Sep 2009 23:00:29 +0200 Subject: [PATCH] Improve error management when there is socket error in IRC plugin When reading socket, there is server disconnection only if error is fatal (if it is not, we'll try again later). Error codes and messages are now displayed for all socket errors. --- po/cs.po | 34 +++++++++++------ po/de.po | 35 ++++++++++++------ po/es.po | 45 +++++++++++++--------- po/fr.po | 41 ++++++++++++-------- po/hu.po | 35 ++++++++++++------ po/pl.po | 34 +++++++++++------ po/ru.po | 36 ++++++++++++------ po/weechat.pot | 21 +++++++---- src/plugins/irc/irc-server.c | 72 +++++++++++++++++++++++++++++------- 9 files changed, 240 insertions(+), 113 deletions(-) diff --git a/po/cs.po b/po/cs.po index e294d59ea..36cfd14a3 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-09-15 16:27+0200\n" +"POT-Creation-Date: 2009-09-18 22:47+0200\n" "PO-Revision-Date: 2009-09-14 10:56+0200\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -4392,24 +4392,24 @@ msgstr "%s%s: chyba při alokování nového serveru" msgid "%s%s: error creating new server \"%s\"" msgstr "%s%s: chyba při vytváření nového zprávu \"%s\"" -#, c-format +#, fuzzy, c-format msgid "" -"%s%s: error sending data to IRC server: null pointer (please report problem " -"to developers)" +"%s%s: sending data to server: null pointer (please report problem to " +"developers)" msgstr "" "%s%s: chyba při posílání dat na IRC server: nulový ukazatel (prosím oznamte " "problém vývojářům)" -#, c-format +#, fuzzy, c-format msgid "" -"%s%s: error sending data to IRC server: empty buffer (please report problem " -"to developers)" +"%s%s: sending data to server: empty buffer (please report problem to " +"developers)" msgstr "" "%s%s: chyba při posílání dat na IRC server: prázdný buffer (prosím oznamte " "problém vývojářům)" -#, c-format -msgid "%s%s: error sending data to IRC server (%s)" +#, fuzzy, c-format +msgid "%s%s: sending data to server: %d %s" msgstr "%s%s: chyba při zasílání dat na IRC server (%s)" msgid "(message dropped)" @@ -4419,9 +4419,16 @@ msgstr "(zpráva zahozena)" msgid "%s%s: not enough memory for received message" msgstr "%s%s: nedostatek paměti pro získání zprávy" -#, c-format -msgid "%s%s: cannot read data from socket, disconnecting from server..." -msgstr "%s%s: nemůžu přečíst data ze soketu, odpojuji se od serveru..." +#, fuzzy, c-format +msgid "%s%s: reading data on socket: error %d %s" +msgstr "%s%s: chyba při zasílání dat na klienta %s" + +msgid "(connection closed by peer)" +msgstr "" + +#, fuzzy, c-format +msgid "%s: disconnecting from server..." +msgstr "%s: odpojen od serveru" #, c-format msgid "%s: lag is high, disconnecting from server..." @@ -5629,6 +5636,9 @@ msgstr "%s%s: nemohu nastavit \"neblokovaci\" volbu na soket" msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s%s: vypršel časový limit \"%s\" pro %s" +#~ msgid "%s%s: cannot read data from socket, disconnecting from server..." +#~ msgstr "%s%s: nemůžu přečíst data ze soketu, odpojuji se od serveru..." + #~ msgid "nicks" #~ msgstr "přezdívky" diff --git a/po/de.po b/po/de.po index 5c39e7f2a..a24c323e9 100644 --- a/po/de.po +++ b/po/de.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-09-15 16:27+0200\n" +"POT-Creation-Date: 2009-09-18 22:47+0200\n" "PO-Revision-Date: 2009-09-06 21:25+0200\n" "Last-Translator: Thomas Schuetz \n" "Language-Team: weechat-dev \n" @@ -4216,18 +4216,18 @@ msgstr "%s nicht genügend Speicher für Infobar-Nachricht\n" #, c-format msgid "" -"%s%s: error sending data to IRC server: null pointer (please report problem " -"to developers)" +"%s%s: sending data to server: null pointer (please report problem to " +"developers)" msgstr "" #, c-format msgid "" -"%s%s: error sending data to IRC server: empty buffer (please report problem " -"to developers)" +"%s%s: sending data to server: empty buffer (please report problem to " +"developers)" msgstr "" #, fuzzy, c-format -msgid "%s%s: error sending data to IRC server (%s)" +msgid "%s%s: sending data to server: %d %s" msgstr "%s Fehler beim Senden von Daten an den IRC-Server\n" msgid "(message dropped)" @@ -4238,8 +4238,15 @@ msgid "%s%s: not enough memory for received message" msgstr "%s nicht genügend Speicher zum Empfangen der IRC-Nachricht vorhanden\n" #, fuzzy, c-format -msgid "%s%s: cannot read data from socket, disconnecting from server..." -msgstr "%s Socket-Lesefehler, die Serververbindung wird getrennt...\n" +msgid "%s%s: reading data on socket: error %d %s" +msgstr "%s Fehler beim Senden von Daten an den IRC-Server\n" + +msgid "(connection closed by peer)" +msgstr "" + +#, fuzzy, c-format +msgid "%s: disconnecting from server..." +msgstr "Vom Server getrennt!\n" #, fuzzy, c-format msgid "%s: lag is high, disconnecting from server..." @@ -5448,6 +5455,14 @@ msgstr "%s DCC: kann die 'nonblock'-Option für den Socket nicht festlegen\n" msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s fehlende Argumente für die \"--dir\"-Option\n" +#, fuzzy +#~ msgid "%s%s: error sending data to IRC server (%s)" +#~ msgstr "%s Fehler beim Senden von Daten an den IRC-Server\n" + +#, fuzzy +#~ msgid "%s%s: cannot read data from socket, disconnecting from server..." +#~ msgstr "%s Socket-Lesefehler, die Serververbindung wird getrennt...\n" + #~ msgid "nicks" #~ msgstr "Nicks" @@ -5904,10 +5919,6 @@ msgstr "%s fehlende Argumente für die \"--dir\"-Option\n" #~ msgid "list of nicks for a Jabber channel" #~ msgstr "Liste von Nicks im Channel" -#, fuzzy -#~ msgid "%s%s: error sending data to server (%s)" -#~ msgstr "%s Fehler beim Senden von Daten an den IRC-Server\n" - #, fuzzy #~ msgid "" #~ "[list [servername]] | [listfull [servername]] | [add username server[/" diff --git a/po/es.po b/po/es.po index 2eb6e8859..a9c984871 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-09-15 16:27+0200\n" +"POT-Creation-Date: 2009-09-18 22:47+0200\n" "PO-Revision-Date: 2009-09-06 21:25+0200\n" "Last-Translator: Elián Hanisch \n" "Language-Team: weechat-dev \n" @@ -4212,25 +4212,25 @@ msgstr "%s%s: no hay suficiente memoria para crear el nuevo servidor" msgid "%s%s: error creating new server \"%s\"" msgstr "%s%s: error al crear el nuevo servidor \"%s\"" -#, c-format +#, fuzzy, c-format msgid "" -"%s%s: error sending data to IRC server: null pointer (please report problem " -"to developers)" +"%s%s: sending data to server: null pointer (please report problem to " +"developers)" msgstr "" "%s%s: error al enviar datos al servidor IRC: puntero nulo (por favor reporta " "el problema a los desarrolladores)" -#, c-format +#, fuzzy, c-format msgid "" -"%s%s: error sending data to IRC server: empty buffer (please report problem " -"to developers)" +"%s%s: sending data to server: empty buffer (please report problem to " +"developers)" msgstr "" "%s%s: error al enviar datos al servidor IRC: buffer vacío (por favor reporta " "el problema a los desarrolladores)" -#, c-format -msgid "%s%s: error sending data to IRC server (%s)" -msgstr "%s%s: error al enviar datos al servidor IRC (%s)" +#, fuzzy, c-format +msgid "%s%s: sending data to server: %d %s" +msgstr "%s error enviando datos al servidor IRC\n" msgid "(message dropped)" msgstr "(mensaje descartado)" @@ -4239,10 +4239,17 @@ msgstr "(mensaje descartado)" msgid "%s%s: not enough memory for received message" msgstr "%s%s: memoria insuficiente para un mensaje recibido" -#, c-format -msgid "%s%s: cannot read data from socket, disconnecting from server..." +#, fuzzy, c-format +msgid "%s%s: reading data on socket: error %d %s" +msgstr "%s error enviando datos al servidor IRC\n" + +msgid "(connection closed by peer)" msgstr "" -"%s%s: no ha sido posible leer datos del socket, desconectando del servidor..." + +# -*- translator mark -*- end +#, fuzzy, c-format +msgid "%s: disconnecting from server..." +msgstr "%s: desconectado del servidor" #, c-format msgid "%s: lag is high, disconnecting from server..." @@ -5479,6 +5486,14 @@ msgstr "%s no es posible crear el servidor\n" msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s falta un argumento para la opción --dir\n" +#~ msgid "%s%s: error sending data to IRC server (%s)" +#~ msgstr "%s%s: error al enviar datos al servidor IRC (%s)" + +#~ msgid "%s%s: cannot read data from socket, disconnecting from server..." +#~ msgstr "" +#~ "%s%s: no ha sido posible leer datos del socket, desconectando del " +#~ "servidor..." + #~ msgid "nicks" #~ msgstr "apodos" @@ -5919,10 +5934,6 @@ msgstr "%s falta un argumento para la opción --dir\n" #~ msgid "list of nicks for a Jabber channel" #~ msgstr "lista de usuarios en el canal" -#, fuzzy -#~ msgid "%s%s: error sending data to server (%s)" -#~ msgstr "%s error enviando datos al servidor IRC\n" - #, fuzzy #~ msgid "" #~ "[list [servername]] | [listfull [servername]] | [add username server[/" diff --git a/po/fr.po b/po/fr.po index 0634cc464..37e7e3b0d 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-09-15 16:27+0200\n" -"PO-Revision-Date: 2009-09-15 16:31+0200\n" +"POT-Creation-Date: 2009-09-18 22:47+0200\n" +"PO-Revision-Date: 2009-09-18 22:49+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" "MIME-Version: 1.0\n" @@ -4478,23 +4478,23 @@ msgstr "%s%s: erreur de création du serveur \"%s\"" #, c-format msgid "" -"%s%s: error sending data to IRC server: null pointer (please report problem " -"to developers)" +"%s%s: sending data to server: null pointer (please report problem to " +"developers)" msgstr "" -"%s%s: erreur d'envoi de données au serveur IRC: pointeur nul (merci de " -"reporter ce problème aux développeurs)" +"%s%s: envoi de données au serveur: pointeur nul (merci de reporter ce " +"problème aux développeurs)" #, c-format msgid "" -"%s%s: error sending data to IRC server: empty buffer (please report problem " -"to developers)" +"%s%s: sending data to server: empty buffer (please report problem to " +"developers)" msgstr "" -"%s%s: erreur d'envoi de données au serveur IRC: tampon d'envoi vide (merci " -"de reporter ce problème aux développeurs)" +"%s%s: envoi de données au serveur: tampon d'envoi vide (merci de reporter ce " +"problème aux développeurs)" #, c-format -msgid "%s%s: error sending data to IRC server (%s)" -msgstr "%s%s: erreur d'envoi de données au serveur IRC (%s)" +msgid "%s%s: sending data to server: %d %s" +msgstr "%s%s: envoi de données au serveur: erreur %d %s" msgid "(message dropped)" msgstr "(message supprimé)" @@ -4504,9 +4504,15 @@ msgid "%s%s: not enough memory for received message" msgstr "%s%s: mémoire insuffisante pour un message reçu" #, 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..." +msgid "%s%s: reading data on socket: error %d %s" +msgstr "%s%s: lecture de données sur la socket: erreur %d %s" + +msgid "(connection closed by peer)" +msgstr "(connexion fermée par l'hôte distant)" + +#, c-format +msgid "%s: disconnecting from server..." +msgstr "%s: déconnexion du serveur..." #, c-format msgid "%s: lag is high, disconnecting from server..." @@ -5743,6 +5749,11 @@ msgstr "%s%s: impossible de positionner l'option \"nonblock\" pour la socket" msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s%s: délai d'attente dépassé pour \"%s\" avec %s" +#~ 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..." + #~ msgid "nicks" #~ msgstr "pseudos" diff --git a/po/hu.po b/po/hu.po index 3f5205bce..0d40d88fb 100644 --- a/po/hu.po +++ b/po/hu.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-09-15 16:27+0200\n" +"POT-Creation-Date: 2009-09-18 22:47+0200\n" "PO-Revision-Date: 2009-09-06 21:25+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -4335,18 +4335,18 @@ msgstr "%s nincs elég memória az információs pult üzenethez\n" #, c-format msgid "" -"%s%s: error sending data to IRC server: null pointer (please report problem " -"to developers)" +"%s%s: sending data to server: null pointer (please report problem to " +"developers)" msgstr "" #, c-format msgid "" -"%s%s: error sending data to IRC server: empty buffer (please report problem " -"to developers)" +"%s%s: sending data to server: empty buffer (please report problem to " +"developers)" msgstr "" #, fuzzy, c-format -msgid "%s%s: error sending data to IRC server (%s)" +msgid "%s%s: sending data to server: %d %s" msgstr "%s adatküldési hiba az IRC szerveren\n" msgid "(message dropped)" @@ -4357,9 +4357,15 @@ msgid "%s%s: not enough memory for received message" msgstr "%s nincs elegendő memória a fogadott IRC üzenet számára\n" #, fuzzy, c-format -msgid "%s%s: cannot read data from socket, disconnecting from server..." +msgid "%s%s: reading data on socket: error %d %s" +msgstr "%s adatküldési hiba az IRC szerveren\n" + +msgid "(connection closed by peer)" msgstr "" -"%s nem sikerült adatot olvasni a csatornából, kilépés a szerverről...\n" + +#, fuzzy, c-format +msgid "%s: disconnecting from server..." +msgstr "Lekapcsolódott a szerverről!\n" #, fuzzy, c-format msgid "%s: lag is high, disconnecting from server..." @@ -5567,6 +5573,15 @@ msgstr "%s DCC: nem sikerült 'nonblock' opciót beállítani a csatornán\n" msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n" +#, fuzzy +#~ msgid "%s%s: error sending data to IRC server (%s)" +#~ msgstr "%s adatküldési hiba az IRC szerveren\n" + +#, fuzzy +#~ 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" + #~ msgid "nicks" #~ msgstr "név" @@ -6050,10 +6065,6 @@ msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n" #~ msgid "list of nicks for a Jabber channel" #~ msgstr "felhasználók listája a szobában" -#, fuzzy -#~ msgid "%s%s: error sending data to server (%s)" -#~ msgstr "%s adatküldési hiba az IRC szerveren\n" - #, fuzzy #~ msgid "" #~ "[list [servername]] | [listfull [servername]] | [add username server[/" diff --git a/po/pl.po b/po/pl.po index ce4a3aba6..07a4bbcc4 100644 --- a/po/pl.po +++ b/po/pl.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-09-15 16:27+0200\n" +"POT-Creation-Date: 2009-09-18 22:47+0200\n" "PO-Revision-Date: 2009-09-06 21:25+0200\n" "Last-Translator: Krzysztof Korościk \n" "Language-Team: Polish\n" @@ -4433,24 +4433,24 @@ msgstr "%s%s: błąd podczas przydzielania nowego serwera" msgid "%s%s: error creating new server \"%s\"" msgstr "%s%s: błąd podczas tworzenia serwera\"%s\"" -#, c-format +#, fuzzy, c-format msgid "" -"%s%s: error sending data to IRC server: null pointer (please report problem " -"to developers)" +"%s%s: sending data to server: null pointer (please report problem to " +"developers)" msgstr "" "%s%s: błąd podczas wysyłania danych do serwera IRC: zerowy wskaźnik (zgłoś " "to programistą)" -#, c-format +#, fuzzy, c-format msgid "" -"%s%s: error sending data to IRC server: empty buffer (please report problem " -"to developers)" +"%s%s: sending data to server: empty buffer (please report problem to " +"developers)" msgstr "" "%s%s: błąd podczas wysyłania danych do serwera IRC: pusty bufor (zgłoś to " "programistą)" -#, c-format -msgid "%s%s: error sending data to IRC server (%s)" +#, fuzzy, c-format +msgid "%s%s: sending data to server: %d %s" msgstr "%s%s: błąd podczas wysyłania danych do swerwera IRC (%s)" msgid "(message dropped)" @@ -4460,9 +4460,16 @@ msgstr "(wiadomości porzucone)" msgid "%s%s: not enough memory for received message" msgstr "%s%s: za mało pamięci dla otrzymanych wiadomości" -#, c-format -msgid "%s%s: cannot read data from socket, disconnecting from server..." -msgstr "%s%s: nie można odczytać danych z gniazda, rozłączam z serwerem..." +#, fuzzy, c-format +msgid "%s%s: reading data on socket: error %d %s" +msgstr "%s%s: błąd podczas wysyłania danych do klienta %s" + +msgid "(connection closed by peer)" +msgstr "" + +#, fuzzy, c-format +msgid "%s: disconnecting from server..." +msgstr "%s: rozłączono z serwerem" #, c-format msgid "%s: lag is high, disconnecting from server..." @@ -5674,6 +5681,9 @@ msgstr "%s%s: nie można ustawić opcji \"nonblock\" dla gniazda" msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s%s: przekroczono czas na \"%s\" z %s" +#~ msgid "%s%s: cannot read data from socket, disconnecting from server..." +#~ msgstr "%s%s: nie można odczytać danych z gniazda, rozłączam z serwerem..." + #~ msgid "nicks" #~ msgstr "nicki" diff --git a/po/ru.po b/po/ru.po index 640dc0b47..f99f98326 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.3.1-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-09-15 16:27+0200\n" +"POT-Creation-Date: 2009-09-18 22:47+0200\n" "PO-Revision-Date: 2009-09-06 21:25+0200\n" "Last-Translator: Pavel Shevchuk \n" "Language-Team: weechat-dev \n" @@ -4326,18 +4326,18 @@ msgstr "%s недостаточно памяти для сообщения в с #, c-format msgid "" -"%s%s: error sending data to IRC server: null pointer (please report problem " -"to developers)" +"%s%s: sending data to server: null pointer (please report problem to " +"developers)" msgstr "" #, c-format msgid "" -"%s%s: error sending data to IRC server: empty buffer (please report problem " -"to developers)" +"%s%s: sending data to server: empty buffer (please report problem to " +"developers)" msgstr "" #, fuzzy, c-format -msgid "%s%s: error sending data to IRC server (%s)" +msgid "%s%s: sending data to server: %d %s" msgstr "%s ошибка при отправке данных IRC серверу\n" msgid "(message dropped)" @@ -4348,8 +4348,15 @@ msgid "%s%s: not enough memory for received message" msgstr "%s недостаточно памяти для полученного сообщения\n" #, fuzzy, c-format -msgid "%s%s: cannot read data from socket, disconnecting from server..." -msgstr "%s невозможно прочитать данные из сокета, отключаюсь от сервера...\n" +msgid "%s%s: reading data on socket: error %d %s" +msgstr "%s ошибка при отправке данных IRC серверу\n" + +msgid "(connection closed by peer)" +msgstr "" + +#, fuzzy, c-format +msgid "%s: disconnecting from server..." +msgstr "Отключен от сервера!\n" #, fuzzy, c-format msgid "%s: lag is high, disconnecting from server..." @@ -5546,6 +5553,15 @@ msgstr "%s DCC: не могу установить неблокирующий р msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s нет аргумента для параметра \"%s\"\n" +#, fuzzy +#~ msgid "%s%s: error sending data to IRC server (%s)" +#~ msgstr "%s ошибка при отправке данных IRC серверу\n" + +#, fuzzy +#~ msgid "%s%s: cannot read data from socket, disconnecting from server..." +#~ msgstr "" +#~ "%s невозможно прочитать данные из сокета, отключаюсь от сервера...\n" + #~ msgid "nicks" #~ msgstr "ники" @@ -6019,10 +6035,6 @@ msgstr "%s нет аргумента для параметра \"%s\"\n" #~ msgid "list of nicks for a Jabber channel" #~ msgstr "список ников на канале" -#, fuzzy -#~ msgid "%s%s: error sending data to server (%s)" -#~ msgstr "%s ошибка при отправке данных IRC серверу\n" - #, fuzzy #~ msgid "" #~ "[list [servername]] | [listfull [servername]] | [add username server[/" diff --git a/po/weechat.pot b/po/weechat.pot index 8528ff49b..9431b51e1 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: 2009-09-15 16:27+0200\n" +"POT-Creation-Date: 2009-09-18 22:47+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3722,18 +3722,18 @@ msgstr "" #, c-format msgid "" -"%s%s: error sending data to IRC server: null pointer (please report problem " -"to developers)" +"%s%s: sending data to server: null pointer (please report problem to " +"developers)" msgstr "" #, c-format msgid "" -"%s%s: error sending data to IRC server: empty buffer (please report problem " -"to developers)" +"%s%s: sending data to server: empty buffer (please report problem to " +"developers)" msgstr "" #, c-format -msgid "%s%s: error sending data to IRC server (%s)" +msgid "%s%s: sending data to server: %d %s" msgstr "" msgid "(message dropped)" @@ -3744,7 +3744,14 @@ msgid "%s%s: not enough memory for received message" msgstr "" #, c-format -msgid "%s%s: cannot read data from socket, disconnecting from server..." +msgid "%s%s: reading data on socket: error %d %s" +msgstr "" + +msgid "(connection closed by peer)" +msgstr "" + +#, c-format +msgid "%s: disconnecting from server..." msgstr "" #, c-format diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index fb7ab7502..8ccaf67db 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -853,8 +853,8 @@ irc_server_send (struct t_irc_server *server, const char *buffer, int size_buf) if (!server) { weechat_printf (NULL, - _("%s%s: error sending data to IRC server: null " - "pointer (please report problem to developers)"), + _("%s%s: sending data to server: null pointer (please " + "report problem to developers)"), weechat_prefix ("error"), IRC_PLUGIN_NAME); return 0; } @@ -862,9 +862,8 @@ irc_server_send (struct t_irc_server *server, const char *buffer, int size_buf) if (size_buf <= 0) { weechat_printf (server->buffer, - _("%s%s: error sending data to IRC server: empty " - "buffer (please report problem to " - "developers)"), + _("%s%s: sending data to server: empty buffer (please " + "report problem to developers)"), weechat_prefix ("error"), IRC_PLUGIN_NAME); return 0; } @@ -878,10 +877,24 @@ irc_server_send (struct t_irc_server *server, const char *buffer, int size_buf) if (rc < 0) { - weechat_printf (server->buffer, - _("%s%s: error sending data to IRC server (%s)"), - weechat_prefix ("error"), IRC_PLUGIN_NAME, - strerror (errno)); +#ifdef HAVE_GNUTLS + if (server->ssl_connected) + { + weechat_printf (server->buffer, + _("%s%s: sending data to server: %d %s"), + weechat_prefix ("error"), IRC_PLUGIN_NAME, + rc, + gnutls_strerror (rc)); + } + else +#endif + { + weechat_printf (server->buffer, + _("%s%s: sending data to server: %d %s"), + weechat_prefix ("error"), IRC_PLUGIN_NAME, + errno, + strerror (errno)); + } } return rc; @@ -1556,11 +1569,42 @@ irc_server_recv_cb (void *arg_server, int fd) } else { - weechat_printf (server->buffer, - _("%s%s: cannot read data from socket, " - "disconnecting from server..."), - weechat_prefix ("error"), IRC_PLUGIN_NAME); - irc_server_disconnect (server, 1); +#ifdef HAVE_GNUTLS + if (server->ssl_connected) + { + if ((num_read == 0) + || ((num_read != GNUTLS_E_AGAIN) && (num_read != GNUTLS_E_INTERRUPTED))) + { + weechat_printf (server->buffer, + _("%s%s: reading data on socket: error %d %s"), + weechat_prefix ("error"), IRC_PLUGIN_NAME, + num_read, + (num_read == 0) ? _("(connection closed by peer)") : + gnutls_strerror (num_read)); + weechat_printf (server->buffer, + _("%s: disconnecting from server..."), + IRC_PLUGIN_NAME); + irc_server_disconnect (server, 1); + } + } + else +#endif + { + if ((num_read == 0) + || ((errno != EAGAIN) && (errno != EWOULDBLOCK))) + { + weechat_printf (server->buffer, + _("%s%s: reading data on socket: error %d %s"), + weechat_prefix ("error"), IRC_PLUGIN_NAME, + errno, + (num_read == 0) ? _("(connection closed by peer)") : + strerror (errno)); + weechat_printf (server->buffer, + _("%s: disconnecting from server..."), + IRC_PLUGIN_NAME); + irc_server_disconnect (server, 1); + } + } } return WEECHAT_RC_OK;