From 15f75d157c6ec6118f7800a433c13e2347632b92 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Fri, 19 May 2006 22:49:24 +0000 Subject: [PATCH] Added backtrace when WeeChat crashes --- ChangeLog | 3 +- configure.in | 30 ++++++-- po/POTFILES.in | 2 + po/cs.po | 72 ++++++++--------- po/de.po | 72 ++++++++--------- po/es.po | 72 ++++++++--------- po/fr.po | 78 ++++++++++--------- po/hu.po | 72 ++++++++--------- po/ru.po | 84 ++++++++++---------- po/weechat.pot | 72 ++++++++--------- src/common/Makefile.am | 2 + src/common/backtrace.c | 136 +++++++++++++++++++++++++++++++++ src/common/backtrace.h | 28 +++++++ src/common/weechat.c | 25 ++++-- weechat/ChangeLog | 3 +- weechat/configure.in | 30 ++++++-- weechat/po/POTFILES.in | 2 + weechat/po/cs.po | 72 ++++++++--------- weechat/po/de.po | 72 ++++++++--------- weechat/po/es.po | 72 ++++++++--------- weechat/po/fr.po | 78 ++++++++++--------- weechat/po/hu.po | 72 ++++++++--------- weechat/po/ru.po | 84 ++++++++++---------- weechat/po/weechat.pot | 72 ++++++++--------- weechat/src/common/Makefile.am | 2 + weechat/src/common/backtrace.c | 136 +++++++++++++++++++++++++++++++++ weechat/src/common/backtrace.h | 28 +++++++ weechat/src/common/weechat.c | 25 ++++-- 28 files changed, 958 insertions(+), 538 deletions(-) create mode 100644 src/common/backtrace.c create mode 100644 src/common/backtrace.h create mode 100644 weechat/src/common/backtrace.c create mode 100644 weechat/src/common/backtrace.h diff --git a/ChangeLog b/ChangeLog index 6c229d829..5cc9b310a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,10 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2006-05-16 +ChangeLog - 2006-05-20 Version 0.1.9 (under dev!): + * added backtrace when WeeChat crashes * added lock for log file (~/.weechat/weechat.log), only one WeeChat process can use this file (bug #16382) * fixed crash with malformed UTF-8 strings diff --git a/configure.in b/configure.in index e76c79a85..cb468abcc 100644 --- a/configure.in +++ b/configure.in @@ -460,17 +460,36 @@ if test "x$enable_gnutls" = "xyes" ; then *** libgnutls was not found. You may want to get it from ftp://ftp.gnutls.org/pub/gnutls/ *** WeeChat will be built without GnuTLS support.]])) if test "x$found_gnutls" = "xyes" ; then - GNUTLS_CFLAGS=`libgnutls-config --cflags` - GNUTLS_LFLAGS=`libgnutls-config --libs` - AC_SUBST(GNUTLS_CFLAGS) - AC_SUBST(GNUTLS_LFLAGS) - AC_DEFINE(HAVE_GNUTLS) + GNUTLS_CFLAGS=`libgnutls-config --cflags` + GNUTLS_LFLAGS=`libgnutls-config --libs` + AC_SUBST(GNUTLS_CFLAGS) + AC_SUBST(GNUTLS_LFLAGS) + AC_DEFINE(HAVE_GNUTLS) else enable_gnutls="no" not_found="$not_found gnutls" fi fi +# ------------------------------------------------------------------------------ +# backtrace +# ------------------------------------------------------------------------------ + +enable_backtrace="no" +if test "x$debug" != "x0" ; then + AC_CACHE_CHECK([for execinfo.h and backtrace], ac_have_backtrace, [ + AC_TRY_COMPILE( + [ #include + ], + [ void *trace[128]; int n = backtrace(trace, 128); ], + [ ac_have_backtrace="yes" ], + [ ac_have_backtrace="no" ])]) + if test "x$ac_have_backtrace" = "xyes"; then + enable_backtrace="yes" + AC_DEFINE(HAVE_BACKTRACE,1,[glibc backtrace function]) + fi +fi + # ------------------------------------------------------------------------------ # general vars # ------------------------------------------------------------------------------ @@ -616,6 +635,7 @@ echo " Python plugin....... : $enable_python" echo " Ruby plugin......... : $enable_ruby" echo " Lua plugin.......... : $enable_lua" echo "Compile with debug info........... : $msg_debug_compiler" +echo " Backtrace........... : $enable_backtrace" echo "Print debugging messages.......... : $msg_debug_verbose" echo "" eval echo "WeeChat will be installed in $bindir." diff --git a/po/POTFILES.in b/po/POTFILES.in index 1b55f3360..fd94eef1c 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -48,6 +48,8 @@ ./src/gui/gui-keyboard.h ./src/gui/gui-panel.h ./src/gui/gui-window.h +./src/common/backtrace.c +./src/common/backtrace.h ./src/common/command.c ./src/common/command.h ./src/common/completion.c diff --git a/po/cs.po b/po/cs.po index 9a4ac0de6..eff913369 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-13 19:54+0200\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -3357,12 +3357,12 @@ msgstr "%s nepřipojen k serveru \"%s\"!\n" msgid "Auto-reconnection is cancelled\n" msgstr "Automatické znovupřipojené je zrušeno\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "%s vnitřní příkazy:\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "IRC příkazy:\n" @@ -3412,7 +3412,7 @@ msgstr "Klávesa \"%s\" odpojena\n" msgid "%s unable to unbind key \"%s\"\n" msgstr "%s nemohu odpojit klávesu \"%s\"\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Vnitřní klávesové funkce:\n" @@ -3621,8 +3621,8 @@ msgstr " . typ boolean (hodnota: 'on' nebo 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . výchozí hodnota: '%s'\n" @@ -3632,7 +3632,7 @@ msgstr " . výchozí hodnota: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . typ celočíselný (hodnoty: mezi %d a %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . výchozí hodnota: %d\n" @@ -3642,8 +3642,8 @@ msgid " . type string (values: " msgstr " . typ řetězec (hodnoty: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "prázdný" @@ -3655,7 +3655,7 @@ msgstr " . typ barva (Curses nebo Gtk barva, viz WeeChat dokumentace)\n" msgid " . type string (any string)\n" msgstr " . typ řetězec (jakýkoliv řetězec)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . popis: %s\n" @@ -4135,7 +4135,7 @@ msgstr "%s nemohu smazat soubor se sezením (%s)\n" msgid "Upgrade completed successfully\n" msgstr "Aktualizace dokončena úspěšně\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4144,7 +4144,7 @@ msgstr "" "%s (c) Copzright 2003-2006, zkompilováno %s %s\n" "Vyvíjí FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4155,7 +4155,7 @@ msgstr "" " nebo: %s [irc[6][s]://[nickname[:password]@]irc.example.org[:port][/" "channel][,channel[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4183,7 +4183,7 @@ msgstr "" " -v, --version zobrazí verzi WeeChat\n" " -w, --weechat-commands zobrazí příkazy WeeChat\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4192,102 +4192,102 @@ msgstr "" "WeeChat kofnigurační nastavení (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . typ: boolean\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . hodnoty: 'on' or 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . typ: celočíselný\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . hodnoty: mezi %d a %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . typ: řetězec\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . hodnoty: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . typ: barva\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . hodnoty: Curses nebo Gtk barva\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . hodnoty: typ řetězec (jakýkoliv řetězec)\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s výchozí klávesy:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s chybí argument pro --dir volbu\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s chybí argument pro --session volbu\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s nevalidní syntaxe pro IRC server ('%s'), ignorován\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s nemohu vytvořit server ('%s'), ignorován\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s neznámý parametr '%s', ignorován\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s nemohu vytvořit adresář \"%s\"\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s nemohu získat HOME adresář\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s nedostatek paměti pro domácí adresář\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s nemohu vytvořit adresář \"%s\"\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4295,12 +4295,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sVítejte do %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "kompilováno" diff --git a/po/de.po b/po/de.po index 9f0a971b0..6ecbc640b 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-13 19:54+0200\n" "Last-Translator: Thomas Schütz \n" "Language-Team: weechat-dev \n" @@ -3370,12 +3370,12 @@ msgstr "%s keine Verbindung zum Server \"%s\"!\n" msgid "Auto-reconnection is cancelled\n" msgstr "Automatisches Neuverbinden abgebrochen\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "%s interne Befehle:\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "IRC-Befehle:\n" @@ -3425,7 +3425,7 @@ msgstr "Tastenbelegung \"%s\" gelöscht\n" msgid "%s unable to unbind key \"%s\"\n" msgstr "%s kann die Tastenbelegung \"%s\" nicht entfernen\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Interne Tastenfunktionen:\n" @@ -3636,8 +3636,8 @@ msgstr " . boolesche Werte ('on' or 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . Standardwert: '%s'\n" @@ -3647,7 +3647,7 @@ msgstr " . Standardwert: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . Ganzzahl (Werte zwischen %d und %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . Standardwert: %d\n" @@ -3657,8 +3657,8 @@ msgid " . type string (values: " msgstr " . Zeichenfolge (Werte: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "leer" @@ -3670,7 +3670,7 @@ msgstr " . Farbe (Curses- or Gtk-color, siehe WeeChat-Dokumentation)\n" msgid " . type string (any string)\n" msgstr " . Zeichenfolge (beliebig)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . Beschreibung: %s\n" @@ -4159,7 +4159,7 @@ msgstr "%s kann die Sitzungsdatei (%s) nicht löschen\n" msgid "Upgrade completed successfully\n" msgstr "Upgrade erfolgreich beendet\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4168,7 +4168,7 @@ msgstr "" "%s (c) Copyright 2003-2006, kompiliert am %s %s\n" "Entwickelt von FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4179,7 +4179,7 @@ msgstr "" " oder: %s [irc[6][s]://[Nickname[:Passwort]@]irc.example.org[:Port][/" "Channel][,Channel[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4208,7 +4208,7 @@ msgstr "" " -v, --version zeigt die WeeChat-Version an\n" " -w, --weechat-commands zeigt die WeeChat-Befehle an\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4217,103 +4217,103 @@ msgstr "" "WeeChat-Konfigurationsoptionen (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . Typ: Boolean\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . Werte ('on' oder 'off')\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . Typ: Ganzzahl\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . Werte: zwischen %d und %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . Typ: Zeichenfolge\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . Werte: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . Typ: Farbe\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . Werte: Curses- oder Gtk-Farben\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . Werte: eine beliebige Zeichenfolge\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s Standardtastenbelegungen:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s fehlende Argumente für die \"--dir\"-Option\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s fehlende Argumente für den \"--session\"-Befehl\n" # ??? -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s ungültige Syntax für IRC-Server ('%s'), ignoriert\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s Kann Server nicht anlegen ('%s'), ignoriert\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s unbekannter Parameter '%s', ignoriert\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s kann das Verzeichnis \"%s\" nicht anlegen\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s kann das HOME-Verzeichnis nicht ermitteln\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s nicht genug Speicher fürs HOME-Verzeichnis\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s kann das Verzeichnis \"%s\" nicht anlegen\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4321,12 +4321,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sWillkommen in %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "kompiliert am" diff --git a/po/es.po b/po/es.po index 575d47e32..e45221744 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Weechat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-16 00:14+0200\n" "Last-Translator: Roberto Gonzlez Cardenete \n" "Language-Team: weechat-dev \n" @@ -3400,12 +3400,12 @@ msgstr "%s msgid "Auto-reconnection is cancelled\n" msgstr "La reconexin automtica est anulada\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "Comandos internos %s :\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "Comandos IRC :\n" @@ -3455,7 +3455,7 @@ msgstr "Clave \"%s\" desatada\n" msgid "%s unable to unbind key \"%s\"\n" msgstr "%s No ha sido posible desatar la clave \"%s\"\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Funciones de clave internas:\n" @@ -3669,8 +3669,8 @@ msgstr " . tipo booleano (valores: 'on' u 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . valor por defecto: '%s'\n" @@ -3680,7 +3680,7 @@ msgstr " . valor por defecto: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . tipo entero (valores: entre %d y %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . valor por defecto: %d\n" @@ -3690,8 +3690,8 @@ msgid " . type string (values: " msgstr " . tipo cadena (valores: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "vaco" @@ -3703,7 +3703,7 @@ msgstr " . tipo color (color Curses o Gtk, ver la documentaci msgid " . type string (any string)\n" msgstr " . tipo cadena (cualquier cadena)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . descripcin: %s\n" @@ -4193,7 +4193,7 @@ msgstr "%s no se puede eliminar el archivo de sesi msgid "Upgrade completed successfully\n" msgstr "Actualizacin completada con xito\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4202,7 +4202,7 @@ msgstr "" "%s (c) Copyright 2003-2006, compilado a %s %s\n" "Desarrollado por FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4213,7 +4213,7 @@ msgstr "" " : %s [irc[6][s]://[usuario[:contrasea]@]irc.ejemplo.org[:puerto][/" "channel]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4243,7 +4243,7 @@ msgstr "" " -v, --version mostrar versin de Weechat\n" " -w, --weechat-commands mostrar comandos de Weechat\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4252,102 +4252,102 @@ msgstr "" "Opciones de configuracin de WeeChat (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . tipo: booleano\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . valores: 'on' u 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . tipo: entero\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . valores: entre %d y %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . tipo: cadena\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . valores: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . tipo: color\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . valores: color Curses o Gtk\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . valores: cualquier cadena\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s claves por defecto:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s falta un argumento para la opcin --dir\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s falta un argumento para la opcin --session\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s sintaxis invlida para el servidor IRC ('%s'), ignorado\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s no es posible crear el servidor ('%s'), ignorado\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s parmetro desconocido '%s', ignorado\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s no es posible crear el directorio \"%s\"\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s no ha sido posible leer el directorio HOME\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s no hay suficiente memoria para el directorio home\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s no es posible crear el directorio \"%s\"\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4355,12 +4355,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sBienvenido a %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "compilado en" diff --git a/po/fr.po b/po/fr.po index d0d7e0370..5d23aab1b 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-16 15:56+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" @@ -3397,12 +3397,12 @@ msgstr "%s non connect msgid "Auto-reconnection is cancelled\n" msgstr "La reconnexion automatique est annule\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "Commandes internes %s :\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "Commandes IRC :\n" @@ -3452,7 +3452,7 @@ msgstr "Touche \"%s\" supprim msgid "%s unable to unbind key \"%s\"\n" msgstr "%s impossible de supprimer la touche \"%s\"\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Fonctions internes pour les touches:\n" @@ -3663,8 +3663,8 @@ msgstr " . type bool #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . valeur par dfaut: '%s'\n" @@ -3674,7 +3674,7 @@ msgstr " . valeur par d msgid " . type integer (values: between %d and %d)\n" msgstr " . type entier (valeurs: entre %d et %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . valeur par dfaut: %d\n" @@ -3684,8 +3684,8 @@ msgid " . type string (values: " msgstr " . type chane (valeurs: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "vide" @@ -3697,7 +3697,7 @@ msgstr " . type couleur (couleur Curses ou Gtk, voir la doc WeeChat)\n" msgid " . type string (any string)\n" msgstr " . type chane (toute chane)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . description: %s\n" @@ -4182,7 +4182,7 @@ msgstr "%s impossible de supprimer le fichier de session (%s)\n" msgid "Upgrade completed successfully\n" msgstr "Mise jour effectue avec succs\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4191,7 +4191,7 @@ msgstr "" "%s (c) Copyright 2003-2006, compil le %s %s\n" "Dvelopp par FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4202,7 +4202,7 @@ msgstr "" " ou: %s [irc[6][s]://[pseudo[:mot_passe]@]irc.exemple.org[:port][/" "canal][,canal[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4232,7 +4232,7 @@ msgstr "" " -v, --version afficher la version de WeeChat\n" " -w, --weechat-commands afficher les commandes WeeChat\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4241,102 +4241,102 @@ msgstr "" "Options de configuration de WeeChat (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . type: boolen\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . valeurs: 'on' ou 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . type: entier\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . valeurs: entre %d et %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . type: chane\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . valeurs: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . type: couleur\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . valeurs: couleur Curses ou Gtk\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . valeurs: toute chane\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "Touches par dfaut %s:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s paramtre manquant pour l'option --dir\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s paramtre manquant pour l'option --session\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s syntaxe invalide pour le serveur IRC ('%s'), ignor\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s impossible de crer le serveur ('%s'), ignor\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s paramtre inconnu '%s', ignor\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s impossible de crer le rpertoire \"%s\"\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s impossible de lire le rpertoire personnel\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s pas assez de mmoire pour le rpertoire personnel\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s impossible de crer le rpertoire \"%s\"\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4344,15 +4344,17 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" "%s impossible de crer/ajouter dans le fichier de log (%s/%s)\n" -"Si un autre processus WeeChat utilise ce fichier, essayez de lancer WeeChat avec\n" -"un autre rpertoire de base en utilisant l'option de ligne de commande \"--dir\".\n" +"Si un autre processus WeeChat utilise ce fichier, essayez de lancer WeeChat " +"avec\n" +"un autre rpertoire de base en utilisant l'option de ligne de commande \"--" +"dir\".\n" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sBienvenue dans %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "compil le" diff --git a/po/hu.po b/po/hu.po index 0012e0841..4b535cd07 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-13 19:52+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -3326,12 +3326,12 @@ msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n" msgid "Auto-reconnection is cancelled\n" msgstr "automata újracsatlakozás megszakítva\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "%s belső parancsok:\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "IRC parancsok:\n" @@ -3381,7 +3381,7 @@ msgstr "" msgid "%s unable to unbind key \"%s\"\n" msgstr "" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "" @@ -3592,8 +3592,8 @@ msgstr " . típus logikai (értékek: 'on' vagy 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . alapérték: '%s'\n" @@ -3603,7 +3603,7 @@ msgstr " . alapérték: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . típus szám (értékek: %d és %d között)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . alapérték: %d\n" @@ -3613,8 +3613,8 @@ msgid " . type string (values: " msgstr " . típus szöveg (értékek: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "üres" @@ -3626,7 +3626,7 @@ msgstr " . típus szín (Curses vagy Gtk szín, lásd WeeChat dokumentáció)\n msgid " . type string (any string)\n" msgstr " . típus szöveg (bármilyen szöveg)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . leírás : %s\n" @@ -4112,7 +4112,7 @@ msgstr "%s nem sikerült a \"%s\" fájlt létrehozni\n" msgid "Upgrade completed successfully\n" msgstr "A frissítés sikeresen megtörtént\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4121,7 +4121,7 @@ msgstr "" "%s (c) Copyright 2003-2006, fordítva: %s %s\n" "Fejlesztő: FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4132,7 +4132,7 @@ msgstr "" " vagy: %s [irc[6][s]://[név[:jelszó]@]irc.példa.org[:port][/szoba][,szoba" "[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4160,7 +4160,7 @@ msgstr "" " -v, --version WeeChat verziójának mutatása\n" " -w, --weechat-commands WeeChat parancsok mutatása\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4169,102 +4169,102 @@ msgstr "" "WeeChat beállítási opciók (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . típus: logikai\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . értékek: 'on' vagy 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . típus: szám\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . értékek: %d és %d között\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . típus: szöveg\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . értékek: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . típus: szín\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . értékek: Curses vagy Gtk színek\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . érték: bármilyen szöveg\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s alapértelmezett billentyűk:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s hiányzó argumentum a --dir opciónak\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s hiányzó argumentum a --session opciónak\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s érvénytelen szintaxis az IRC szervernek ('%s'), mellőzve\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s nem sikerült a szervert ('%s') létrehozni, mellőzve\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s ismeretlen paraméter: '%s', mellőzve\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s nem sikerült a \"%s\" könyvtárat létrehozni\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s nem sikerült a HOME könyvtárat beállítani\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s nincs elég memória a HOME könyvtárhoz\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s nem sikerült a \"%s\" könyvtárat létrehozni\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4272,12 +4272,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sÜdvözöli a %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "lefordítva:" diff --git a/po/ru.po b/po/ru.po index 11483d9a0..c89784e7d 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" -"PO-Revision-Date: 2006-05-15 23:04+0300\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" +"PO-Revision-Date: 2006-05-20 01:31+0300\n" "Last-Translator: Stalwart \n" "Language-Team: weechat-dev \n" "MIME-Version: 1.0\n" @@ -1815,7 +1815,7 @@ msgstr "%s \"%s\" команда получена без канала\n" #: src/irc/irc-recv.c:2780 #, c-format msgid "%s%s%s has changed topic for %s%s%s to:" -msgstr "%s%s%s сменил тему для %s%s%s на:" +msgstr "%s%s%s сменил тему %s%s%s на:" #: src/irc/irc-recv.c:2791 #, c-format @@ -3326,7 +3326,7 @@ msgstr " (унаследованный: \"%s%s%s\")" #: src/common/command.c:4059 src/common/command.c:4102 #, c-format msgid "%s unknown option for \"%s\" command\n" -msgstr "%s неизвестный параметр для \"%s\" команды\n" +msgstr "%s неизвестный параметр для команды \"%s\"\n" #: src/common/command.c:1932 #, c-format @@ -3352,12 +3352,12 @@ msgstr "%s не подключен к серверу \"%s\"!\n" msgid "Auto-reconnection is cancelled\n" msgstr "Авто-переподключение отменено\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" -msgstr "%s внутренние команды:\n" +msgstr "Внутренние команды %s:\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "Команды IRC:\n" @@ -3407,7 +3407,7 @@ msgstr "Клавиша \"%s\" не привязана\n" msgid "%s unable to unbind key \"%s\"\n" msgstr "%s не могу отвязать клавишу \"%s\"\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Встроенные функции клавиш:\n" @@ -3615,8 +3615,8 @@ msgstr " . булевый тип (значения: 'on' или 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . значение по умолчанию: '%s'\n" @@ -3626,7 +3626,7 @@ msgstr " . значение по умолчанию: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . целочисленное значение (значения: от %d до %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . значение по умолчанию: %d\n" @@ -3636,8 +3636,8 @@ msgid " . type string (values: " msgstr " . строковой тип (значения: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "пусто" @@ -3649,7 +3649,7 @@ msgstr " . цветовой тип (цвет Curses или Gtk, см. доку msgid " . type string (any string)\n" msgstr " . строковой тип (любая строка)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . описание: %s\n" @@ -4138,7 +4138,7 @@ msgstr "%s не могу удалить файл сессии (%s)\n" msgid "Upgrade completed successfully\n" msgstr "Обновление успешно\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4147,7 +4147,7 @@ msgstr "" "%s (c) Copyright 2003-2006, собран %s %s\n" "Разработчик - FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4158,7 +4158,7 @@ msgstr "" " или: %s [irc[6][s]://[ник[:пароль]@]irc.example.org[:порт][/канал]" "[,канал[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4187,7 +4187,7 @@ msgstr "" " -v, --version отобразить версию WeeChat\n" " -w, --weechat-commands отобразить команды WeeChat\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4196,115 +4196,119 @@ msgstr "" "Параметры конфигурации WeeChat (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . тип: булевый\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . значения: 'on' или 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . тип: целочисленный\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . значения: от %d до %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . тип: строка\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . значения: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . тип: цвет\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . значения: цвет Curses или Gtk\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . значения: любая строка\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s клавиши по умолчанию:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s нехватает аргументов для параметра --dir\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s нет аргумента для параметра --session\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s некорректный синтаксис IRC сервра ('%s'), игнорируется\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s не могу создать сервер ('%s'), игнорируется\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s неизвестный параметр '%s', игнорируется\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s не могу создать директорию \"%s\"\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s не могу получить домашний каталог\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s недостаточно памяти для домашней директории\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s не могу создать директорию \"%s\"\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" "If another WeeChat process is using this file, try to run WeeChat\n" "with another home using \"--dir\" command line option.\n" msgstr "" +"%s не может начать/продолжить журнал (%s/%s)\n" +"Если другой процесс WeeChat использует этот файл, попробуйте запускать " +"WeeChat\n" +"с другой домашней директорией используя параметр \"--dir\".\n" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sДобро пожаловать в %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "собран:" diff --git a/po/weechat.pot b/po/weechat.pot index edd24040c..4083220b4 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: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3108,12 +3108,12 @@ msgstr "" msgid "Auto-reconnection is cancelled\n" msgstr "" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "" @@ -3163,7 +3163,7 @@ msgstr "" msgid "%s unable to unbind key \"%s\"\n" msgstr "" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "" @@ -3368,8 +3368,8 @@ msgstr "" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr "" @@ -3379,7 +3379,7 @@ msgstr "" msgid " . type integer (values: between %d and %d)\n" msgstr "" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr "" @@ -3389,8 +3389,8 @@ msgid " . type string (values: " msgstr "" #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "" @@ -3402,7 +3402,7 @@ msgstr "" msgid " . type string (any string)\n" msgstr "" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr "" @@ -3876,14 +3876,14 @@ msgstr "" msgid "Upgrade completed successfully\n" msgstr "" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" "Developed by FlashCode - %s" msgstr "" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -3891,7 +3891,7 @@ msgid "" "[,channel[...]]" msgstr "" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -3907,109 +3907,109 @@ msgid "" " -w, --weechat-commands display WeeChat commands\n" msgstr "" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" "\n" msgstr "" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr "" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr "" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr "" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr "" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr "" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr "" -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr "" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr "" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr "" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4017,12 +4017,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "" diff --git a/src/common/Makefile.am b/src/common/Makefile.am index 1e84078ec..78d82d531 100644 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -21,6 +21,8 @@ noinst_LIBRARIES = lib_weechat_main.a lib_weechat_main_a_SOURCES = weechat.c \ weechat.h \ + backtrace.c \ + backtrace.h \ command.c \ command.h \ completion.c \ diff --git a/src/common/backtrace.c b/src/common/backtrace.c new file mode 100644 index 000000000..9c67c2f40 --- /dev/null +++ b/src/common/backtrace.c @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2003-2006 by FlashCode + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* backtrace.c: display backtrace after a segfault */ + + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#define __USE_GNU +#include + +#ifdef HAVE_BACKTRACE +#include +#endif + +#include "weechat.h" +#include "backtrace.h" + + +/* + * weechat_backtrace_addr2line: display function name and line with a backtrace address + */ + +void +weechat_backtrace_addr2line (int number, void *address, char *symbol) +{ + int rc; + Dl_info info; + const void *addr; + FILE *output; + char cmd_line[1024]; + char line[1024], *ptr_line, *pos; + char function_name[1024]; + int file_line; + + rc = dladdr (address, &info); + if ((rc == 0) || !info.dli_fname || !info.dli_fname[0]) + { + fprintf (stderr, "%03d %s\n", number, symbol); + return; + } + + addr = address; + if (info.dli_fbase >= (const void *) 0x40000000) + addr = (const char *) addr - (unsigned int) info.dli_fbase; + + snprintf (cmd_line, sizeof (cmd_line), + "addr2line --functions --demangle -e %s %p", + info.dli_fname, addr); + output = popen (cmd_line, "r"); + if (!output) + { + fprintf (stderr, "%03d %s\n", number, symbol); + return; + } + function_name[0] = '\0'; + file_line = 0; + while (!feof (output)) + { + ptr_line = fgets (line, sizeof (line) - 1, output); + if (ptr_line && ptr_line[0]) + { + pos = strchr (ptr_line, '\n'); + if (pos) + pos[0] = '\0'; + if (strchr (ptr_line, ':')) + { + file_line = 1; + fprintf (stderr, "%03d %s%s%s%s\n", + number, + ptr_line, + (function_name[0]) ? " [function " : "", + function_name, + (function_name[0]) ? "]" : ""); + function_name[0] = '\0'; + } + else + { + if (function_name[0]) + fprintf (stderr, "%03d %s", number, function_name); + snprintf (function_name, sizeof (function_name), + "%s", ptr_line); + } + } + } + if (function_name[0]) + fprintf (stderr, "%03d %s\n", number, function_name); + pclose (output); +} + +/* + * weechat_backtrace: display backtrace (called when a SIGSEGV is received) + */ + +void +weechat_backtrace () +{ +#ifdef HAVE_BACKTRACE + void *trace[BACKTRACE_MAX]; + int trace_size, i; + char **symbols; + + trace_size = backtrace (trace, BACKTRACE_MAX); + symbols = backtrace_symbols (trace, trace_size); + + for (i = 0; i < trace_size; i++) + { + weechat_backtrace_addr2line (i + 1, trace[i], symbols[i]); + } +#else + fprintf (stderr, + " No backtrace info (no debug info available or no backtrace possible " + "on your system).\n"); +#endif +} diff --git a/src/common/backtrace.h b/src/common/backtrace.h new file mode 100644 index 000000000..67e3751dc --- /dev/null +++ b/src/common/backtrace.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2003-2006 by FlashCode + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +#ifndef __WEECHAT_BACKTACE_H +#define __WEECHAT_BACKTACE_H 1 + +#define BACKTRACE_MAX 128 + +extern void weechat_backtrace (); + +#endif /* backtrace.h */ diff --git a/src/common/weechat.c b/src/common/weechat.c index 8a69facdb..f82a622e7 100644 --- a/src/common/weechat.c +++ b/src/common/weechat.c @@ -62,6 +62,7 @@ #endif #include "weechat.h" +#include "backtrace.h" #include "weeconfig.h" #include "command.h" #include "fifo.h" @@ -1075,12 +1076,26 @@ weechat_sigsegv () dcc_end (); server_free_all (); gui_main_end (); + fprintf (stderr, "\n"); - fprintf (stderr, "*** Very bad! WeeChat has crashed (SIGSEGV received)\n"); - fprintf (stderr, "*** Full crash dump was saved to %s/weechat.log file\n", weechat_home); - fprintf (stderr, "*** Please send this file to WeeChat developers.\n"); - fprintf (stderr, "*** (be careful, private info may be in this file since\n"); - fprintf (stderr, "*** part of chats are displayed, so remove lines if needed)\n\n"); + fprintf (stderr, "*** Very bad! WeeChat is crashing (SIGSEGV received)\n"); + fprintf (stderr, "*** (%s, compiled on %s %s)\n", + PACKAGE_STRING, __DATE__, __TIME__); + fprintf (stderr, "*** Full crash dump was saved to %s/weechat.log file.\n", + weechat_home); + fprintf (stderr, "***\n"); + fprintf (stderr, "*** Please help WeeChat developers to fix this bug:\n"); + fprintf (stderr, "*** 1. if you have a core file, please run: gdb weechat-curses core\n"); + fprintf (stderr, "*** then issue \"bt\" command and send result to developers\n"); + fprintf (stderr, "*** 2. otherwise send backtrace displayed below and weechat.log\n"); + fprintf (stderr, "*** (be careful, private info may be in this file since\n"); + fprintf (stderr, "*** part of chats are displayed, so remove lines if needed)\n\n"); + + fprintf (stderr, "======= WeeChat backtrace =======\n"); + weechat_backtrace (); + fprintf (stderr, "======= End of backtrace =======\n"); + + /* shutdown with error code */ weechat_shutdown (EXIT_FAILURE, 1); } diff --git a/weechat/ChangeLog b/weechat/ChangeLog index 6c229d829..5cc9b310a 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,9 +1,10 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2006-05-16 +ChangeLog - 2006-05-20 Version 0.1.9 (under dev!): + * added backtrace when WeeChat crashes * added lock for log file (~/.weechat/weechat.log), only one WeeChat process can use this file (bug #16382) * fixed crash with malformed UTF-8 strings diff --git a/weechat/configure.in b/weechat/configure.in index e76c79a85..cb468abcc 100644 --- a/weechat/configure.in +++ b/weechat/configure.in @@ -460,17 +460,36 @@ if test "x$enable_gnutls" = "xyes" ; then *** libgnutls was not found. You may want to get it from ftp://ftp.gnutls.org/pub/gnutls/ *** WeeChat will be built without GnuTLS support.]])) if test "x$found_gnutls" = "xyes" ; then - GNUTLS_CFLAGS=`libgnutls-config --cflags` - GNUTLS_LFLAGS=`libgnutls-config --libs` - AC_SUBST(GNUTLS_CFLAGS) - AC_SUBST(GNUTLS_LFLAGS) - AC_DEFINE(HAVE_GNUTLS) + GNUTLS_CFLAGS=`libgnutls-config --cflags` + GNUTLS_LFLAGS=`libgnutls-config --libs` + AC_SUBST(GNUTLS_CFLAGS) + AC_SUBST(GNUTLS_LFLAGS) + AC_DEFINE(HAVE_GNUTLS) else enable_gnutls="no" not_found="$not_found gnutls" fi fi +# ------------------------------------------------------------------------------ +# backtrace +# ------------------------------------------------------------------------------ + +enable_backtrace="no" +if test "x$debug" != "x0" ; then + AC_CACHE_CHECK([for execinfo.h and backtrace], ac_have_backtrace, [ + AC_TRY_COMPILE( + [ #include + ], + [ void *trace[128]; int n = backtrace(trace, 128); ], + [ ac_have_backtrace="yes" ], + [ ac_have_backtrace="no" ])]) + if test "x$ac_have_backtrace" = "xyes"; then + enable_backtrace="yes" + AC_DEFINE(HAVE_BACKTRACE,1,[glibc backtrace function]) + fi +fi + # ------------------------------------------------------------------------------ # general vars # ------------------------------------------------------------------------------ @@ -616,6 +635,7 @@ echo " Python plugin....... : $enable_python" echo " Ruby plugin......... : $enable_ruby" echo " Lua plugin.......... : $enable_lua" echo "Compile with debug info........... : $msg_debug_compiler" +echo " Backtrace........... : $enable_backtrace" echo "Print debugging messages.......... : $msg_debug_verbose" echo "" eval echo "WeeChat will be installed in $bindir." diff --git a/weechat/po/POTFILES.in b/weechat/po/POTFILES.in index 1b55f3360..fd94eef1c 100644 --- a/weechat/po/POTFILES.in +++ b/weechat/po/POTFILES.in @@ -48,6 +48,8 @@ ./src/gui/gui-keyboard.h ./src/gui/gui-panel.h ./src/gui/gui-window.h +./src/common/backtrace.c +./src/common/backtrace.h ./src/common/command.c ./src/common/command.h ./src/common/completion.c diff --git a/weechat/po/cs.po b/weechat/po/cs.po index 9a4ac0de6..eff913369 100644 --- a/weechat/po/cs.po +++ b/weechat/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-13 19:54+0200\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -3357,12 +3357,12 @@ msgstr "%s nepřipojen k serveru \"%s\"!\n" msgid "Auto-reconnection is cancelled\n" msgstr "Automatické znovupřipojené je zrušeno\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "%s vnitřní příkazy:\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "IRC příkazy:\n" @@ -3412,7 +3412,7 @@ msgstr "Klávesa \"%s\" odpojena\n" msgid "%s unable to unbind key \"%s\"\n" msgstr "%s nemohu odpojit klávesu \"%s\"\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Vnitřní klávesové funkce:\n" @@ -3621,8 +3621,8 @@ msgstr " . typ boolean (hodnota: 'on' nebo 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . výchozí hodnota: '%s'\n" @@ -3632,7 +3632,7 @@ msgstr " . výchozí hodnota: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . typ celočíselný (hodnoty: mezi %d a %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . výchozí hodnota: %d\n" @@ -3642,8 +3642,8 @@ msgid " . type string (values: " msgstr " . typ řetězec (hodnoty: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "prázdný" @@ -3655,7 +3655,7 @@ msgstr " . typ barva (Curses nebo Gtk barva, viz WeeChat dokumentace)\n" msgid " . type string (any string)\n" msgstr " . typ řetězec (jakýkoliv řetězec)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . popis: %s\n" @@ -4135,7 +4135,7 @@ msgstr "%s nemohu smazat soubor se sezením (%s)\n" msgid "Upgrade completed successfully\n" msgstr "Aktualizace dokončena úspěšně\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4144,7 +4144,7 @@ msgstr "" "%s (c) Copzright 2003-2006, zkompilováno %s %s\n" "Vyvíjí FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4155,7 +4155,7 @@ msgstr "" " nebo: %s [irc[6][s]://[nickname[:password]@]irc.example.org[:port][/" "channel][,channel[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4183,7 +4183,7 @@ msgstr "" " -v, --version zobrazí verzi WeeChat\n" " -w, --weechat-commands zobrazí příkazy WeeChat\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4192,102 +4192,102 @@ msgstr "" "WeeChat kofnigurační nastavení (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . typ: boolean\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . hodnoty: 'on' or 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . typ: celočíselný\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . hodnoty: mezi %d a %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . typ: řetězec\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . hodnoty: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . typ: barva\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . hodnoty: Curses nebo Gtk barva\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . hodnoty: typ řetězec (jakýkoliv řetězec)\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s výchozí klávesy:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s chybí argument pro --dir volbu\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s chybí argument pro --session volbu\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s nevalidní syntaxe pro IRC server ('%s'), ignorován\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s nemohu vytvořit server ('%s'), ignorován\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s neznámý parametr '%s', ignorován\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s nemohu vytvořit adresář \"%s\"\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s nemohu získat HOME adresář\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s nedostatek paměti pro domácí adresář\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s nemohu vytvořit adresář \"%s\"\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4295,12 +4295,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sVítejte do %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "kompilováno" diff --git a/weechat/po/de.po b/weechat/po/de.po index 9f0a971b0..6ecbc640b 100644 --- a/weechat/po/de.po +++ b/weechat/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-13 19:54+0200\n" "Last-Translator: Thomas Schütz \n" "Language-Team: weechat-dev \n" @@ -3370,12 +3370,12 @@ msgstr "%s keine Verbindung zum Server \"%s\"!\n" msgid "Auto-reconnection is cancelled\n" msgstr "Automatisches Neuverbinden abgebrochen\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "%s interne Befehle:\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "IRC-Befehle:\n" @@ -3425,7 +3425,7 @@ msgstr "Tastenbelegung \"%s\" gelöscht\n" msgid "%s unable to unbind key \"%s\"\n" msgstr "%s kann die Tastenbelegung \"%s\" nicht entfernen\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Interne Tastenfunktionen:\n" @@ -3636,8 +3636,8 @@ msgstr " . boolesche Werte ('on' or 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . Standardwert: '%s'\n" @@ -3647,7 +3647,7 @@ msgstr " . Standardwert: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . Ganzzahl (Werte zwischen %d und %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . Standardwert: %d\n" @@ -3657,8 +3657,8 @@ msgid " . type string (values: " msgstr " . Zeichenfolge (Werte: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "leer" @@ -3670,7 +3670,7 @@ msgstr " . Farbe (Curses- or Gtk-color, siehe WeeChat-Dokumentation)\n" msgid " . type string (any string)\n" msgstr " . Zeichenfolge (beliebig)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . Beschreibung: %s\n" @@ -4159,7 +4159,7 @@ msgstr "%s kann die Sitzungsdatei (%s) nicht löschen\n" msgid "Upgrade completed successfully\n" msgstr "Upgrade erfolgreich beendet\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4168,7 +4168,7 @@ msgstr "" "%s (c) Copyright 2003-2006, kompiliert am %s %s\n" "Entwickelt von FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4179,7 +4179,7 @@ msgstr "" " oder: %s [irc[6][s]://[Nickname[:Passwort]@]irc.example.org[:Port][/" "Channel][,Channel[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4208,7 +4208,7 @@ msgstr "" " -v, --version zeigt die WeeChat-Version an\n" " -w, --weechat-commands zeigt die WeeChat-Befehle an\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4217,103 +4217,103 @@ msgstr "" "WeeChat-Konfigurationsoptionen (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . Typ: Boolean\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . Werte ('on' oder 'off')\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . Typ: Ganzzahl\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . Werte: zwischen %d und %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . Typ: Zeichenfolge\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . Werte: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . Typ: Farbe\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . Werte: Curses- oder Gtk-Farben\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . Werte: eine beliebige Zeichenfolge\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s Standardtastenbelegungen:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s fehlende Argumente für die \"--dir\"-Option\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s fehlende Argumente für den \"--session\"-Befehl\n" # ??? -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s ungültige Syntax für IRC-Server ('%s'), ignoriert\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s Kann Server nicht anlegen ('%s'), ignoriert\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s unbekannter Parameter '%s', ignoriert\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s kann das Verzeichnis \"%s\" nicht anlegen\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s kann das HOME-Verzeichnis nicht ermitteln\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s nicht genug Speicher fürs HOME-Verzeichnis\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s kann das Verzeichnis \"%s\" nicht anlegen\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4321,12 +4321,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sWillkommen in %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "kompiliert am" diff --git a/weechat/po/es.po b/weechat/po/es.po index 575d47e32..e45221744 100644 --- a/weechat/po/es.po +++ b/weechat/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Weechat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-16 00:14+0200\n" "Last-Translator: Roberto Gonzlez Cardenete \n" "Language-Team: weechat-dev \n" @@ -3400,12 +3400,12 @@ msgstr "%s msgid "Auto-reconnection is cancelled\n" msgstr "La reconexin automtica est anulada\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "Comandos internos %s :\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "Comandos IRC :\n" @@ -3455,7 +3455,7 @@ msgstr "Clave \"%s\" desatada\n" msgid "%s unable to unbind key \"%s\"\n" msgstr "%s No ha sido posible desatar la clave \"%s\"\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Funciones de clave internas:\n" @@ -3669,8 +3669,8 @@ msgstr " . tipo booleano (valores: 'on' u 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . valor por defecto: '%s'\n" @@ -3680,7 +3680,7 @@ msgstr " . valor por defecto: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . tipo entero (valores: entre %d y %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . valor por defecto: %d\n" @@ -3690,8 +3690,8 @@ msgid " . type string (values: " msgstr " . tipo cadena (valores: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "vaco" @@ -3703,7 +3703,7 @@ msgstr " . tipo color (color Curses o Gtk, ver la documentaci msgid " . type string (any string)\n" msgstr " . tipo cadena (cualquier cadena)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . descripcin: %s\n" @@ -4193,7 +4193,7 @@ msgstr "%s no se puede eliminar el archivo de sesi msgid "Upgrade completed successfully\n" msgstr "Actualizacin completada con xito\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4202,7 +4202,7 @@ msgstr "" "%s (c) Copyright 2003-2006, compilado a %s %s\n" "Desarrollado por FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4213,7 +4213,7 @@ msgstr "" " : %s [irc[6][s]://[usuario[:contrasea]@]irc.ejemplo.org[:puerto][/" "channel]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4243,7 +4243,7 @@ msgstr "" " -v, --version mostrar versin de Weechat\n" " -w, --weechat-commands mostrar comandos de Weechat\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4252,102 +4252,102 @@ msgstr "" "Opciones de configuracin de WeeChat (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . tipo: booleano\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . valores: 'on' u 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . tipo: entero\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . valores: entre %d y %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . tipo: cadena\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . valores: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . tipo: color\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . valores: color Curses o Gtk\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . valores: cualquier cadena\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s claves por defecto:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s falta un argumento para la opcin --dir\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s falta un argumento para la opcin --session\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s sintaxis invlida para el servidor IRC ('%s'), ignorado\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s no es posible crear el servidor ('%s'), ignorado\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s parmetro desconocido '%s', ignorado\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s no es posible crear el directorio \"%s\"\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s no ha sido posible leer el directorio HOME\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s no hay suficiente memoria para el directorio home\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s no es posible crear el directorio \"%s\"\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4355,12 +4355,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sBienvenido a %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "compilado en" diff --git a/weechat/po/fr.po b/weechat/po/fr.po index d0d7e0370..5d23aab1b 100644 --- a/weechat/po/fr.po +++ b/weechat/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-16 15:56+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" @@ -3397,12 +3397,12 @@ msgstr "%s non connect msgid "Auto-reconnection is cancelled\n" msgstr "La reconnexion automatique est annule\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "Commandes internes %s :\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "Commandes IRC :\n" @@ -3452,7 +3452,7 @@ msgstr "Touche \"%s\" supprim msgid "%s unable to unbind key \"%s\"\n" msgstr "%s impossible de supprimer la touche \"%s\"\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Fonctions internes pour les touches:\n" @@ -3663,8 +3663,8 @@ msgstr " . type bool #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . valeur par dfaut: '%s'\n" @@ -3674,7 +3674,7 @@ msgstr " . valeur par d msgid " . type integer (values: between %d and %d)\n" msgstr " . type entier (valeurs: entre %d et %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . valeur par dfaut: %d\n" @@ -3684,8 +3684,8 @@ msgid " . type string (values: " msgstr " . type chane (valeurs: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "vide" @@ -3697,7 +3697,7 @@ msgstr " . type couleur (couleur Curses ou Gtk, voir la doc WeeChat)\n" msgid " . type string (any string)\n" msgstr " . type chane (toute chane)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . description: %s\n" @@ -4182,7 +4182,7 @@ msgstr "%s impossible de supprimer le fichier de session (%s)\n" msgid "Upgrade completed successfully\n" msgstr "Mise jour effectue avec succs\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4191,7 +4191,7 @@ msgstr "" "%s (c) Copyright 2003-2006, compil le %s %s\n" "Dvelopp par FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4202,7 +4202,7 @@ msgstr "" " ou: %s [irc[6][s]://[pseudo[:mot_passe]@]irc.exemple.org[:port][/" "canal][,canal[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4232,7 +4232,7 @@ msgstr "" " -v, --version afficher la version de WeeChat\n" " -w, --weechat-commands afficher les commandes WeeChat\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4241,102 +4241,102 @@ msgstr "" "Options de configuration de WeeChat (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . type: boolen\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . valeurs: 'on' ou 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . type: entier\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . valeurs: entre %d et %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . type: chane\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . valeurs: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . type: couleur\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . valeurs: couleur Curses ou Gtk\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . valeurs: toute chane\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "Touches par dfaut %s:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s paramtre manquant pour l'option --dir\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s paramtre manquant pour l'option --session\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s syntaxe invalide pour le serveur IRC ('%s'), ignor\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s impossible de crer le serveur ('%s'), ignor\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s paramtre inconnu '%s', ignor\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s impossible de crer le rpertoire \"%s\"\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s impossible de lire le rpertoire personnel\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s pas assez de mmoire pour le rpertoire personnel\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s impossible de crer le rpertoire \"%s\"\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4344,15 +4344,17 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" "%s impossible de crer/ajouter dans le fichier de log (%s/%s)\n" -"Si un autre processus WeeChat utilise ce fichier, essayez de lancer WeeChat avec\n" -"un autre rpertoire de base en utilisant l'option de ligne de commande \"--dir\".\n" +"Si un autre processus WeeChat utilise ce fichier, essayez de lancer WeeChat " +"avec\n" +"un autre rpertoire de base en utilisant l'option de ligne de commande \"--" +"dir\".\n" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sBienvenue dans %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "compil le" diff --git a/weechat/po/hu.po b/weechat/po/hu.po index 0012e0841..4b535cd07 100644 --- a/weechat/po/hu.po +++ b/weechat/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: 2006-05-13 19:52+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -3326,12 +3326,12 @@ msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n" msgid "Auto-reconnection is cancelled\n" msgstr "automata újracsatlakozás megszakítva\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "%s belső parancsok:\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "IRC parancsok:\n" @@ -3381,7 +3381,7 @@ msgstr "" msgid "%s unable to unbind key \"%s\"\n" msgstr "" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "" @@ -3592,8 +3592,8 @@ msgstr " . típus logikai (értékek: 'on' vagy 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . alapérték: '%s'\n" @@ -3603,7 +3603,7 @@ msgstr " . alapérték: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . típus szám (értékek: %d és %d között)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . alapérték: %d\n" @@ -3613,8 +3613,8 @@ msgid " . type string (values: " msgstr " . típus szöveg (értékek: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "üres" @@ -3626,7 +3626,7 @@ msgstr " . típus szín (Curses vagy Gtk szín, lásd WeeChat dokumentáció)\n msgid " . type string (any string)\n" msgstr " . típus szöveg (bármilyen szöveg)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . leírás : %s\n" @@ -4112,7 +4112,7 @@ msgstr "%s nem sikerült a \"%s\" fájlt létrehozni\n" msgid "Upgrade completed successfully\n" msgstr "A frissítés sikeresen megtörtént\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4121,7 +4121,7 @@ msgstr "" "%s (c) Copyright 2003-2006, fordítva: %s %s\n" "Fejlesztő: FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4132,7 +4132,7 @@ msgstr "" " vagy: %s [irc[6][s]://[név[:jelszó]@]irc.példa.org[:port][/szoba][,szoba" "[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4160,7 +4160,7 @@ msgstr "" " -v, --version WeeChat verziójának mutatása\n" " -w, --weechat-commands WeeChat parancsok mutatása\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4169,102 +4169,102 @@ msgstr "" "WeeChat beállítási opciók (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . típus: logikai\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . értékek: 'on' vagy 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . típus: szám\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . értékek: %d és %d között\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . típus: szöveg\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . értékek: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . típus: szín\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . értékek: Curses vagy Gtk színek\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . érték: bármilyen szöveg\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s alapértelmezett billentyűk:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s hiányzó argumentum a --dir opciónak\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s hiányzó argumentum a --session opciónak\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s érvénytelen szintaxis az IRC szervernek ('%s'), mellőzve\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s nem sikerült a szervert ('%s') létrehozni, mellőzve\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s ismeretlen paraméter: '%s', mellőzve\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s nem sikerült a \"%s\" könyvtárat létrehozni\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s nem sikerült a HOME könyvtárat beállítani\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s nincs elég memória a HOME könyvtárhoz\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s nem sikerült a \"%s\" könyvtárat létrehozni\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4272,12 +4272,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sÜdvözöli a %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "lefordítva:" diff --git a/weechat/po/ru.po b/weechat/po/ru.po index 11483d9a0..c89784e7d 100644 --- a/weechat/po/ru.po +++ b/weechat/po/ru.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.1.9-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-05-16 15:53+0200\n" -"PO-Revision-Date: 2006-05-15 23:04+0300\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" +"PO-Revision-Date: 2006-05-20 01:31+0300\n" "Last-Translator: Stalwart \n" "Language-Team: weechat-dev \n" "MIME-Version: 1.0\n" @@ -1815,7 +1815,7 @@ msgstr "%s \"%s\" команда получена без канала\n" #: src/irc/irc-recv.c:2780 #, c-format msgid "%s%s%s has changed topic for %s%s%s to:" -msgstr "%s%s%s сменил тему для %s%s%s на:" +msgstr "%s%s%s сменил тему %s%s%s на:" #: src/irc/irc-recv.c:2791 #, c-format @@ -3326,7 +3326,7 @@ msgstr " (унаследованный: \"%s%s%s\")" #: src/common/command.c:4059 src/common/command.c:4102 #, c-format msgid "%s unknown option for \"%s\" command\n" -msgstr "%s неизвестный параметр для \"%s\" команды\n" +msgstr "%s неизвестный параметр для команды \"%s\"\n" #: src/common/command.c:1932 #, c-format @@ -3352,12 +3352,12 @@ msgstr "%s не подключен к серверу \"%s\"!\n" msgid "Auto-reconnection is cancelled\n" msgstr "Авто-переподключение отменено\n" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" -msgstr "%s внутренние команды:\n" +msgstr "Внутренние команды %s:\n" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "Команды IRC:\n" @@ -3407,7 +3407,7 @@ msgstr "Клавиша \"%s\" не привязана\n" msgid "%s unable to unbind key \"%s\"\n" msgstr "%s не могу отвязать клавишу \"%s\"\n" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "Встроенные функции клавиш:\n" @@ -3615,8 +3615,8 @@ msgstr " . булевый тип (значения: 'on' или 'off')\n" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr " . значение по умолчанию: '%s'\n" @@ -3626,7 +3626,7 @@ msgstr " . значение по умолчанию: '%s'\n" msgid " . type integer (values: between %d and %d)\n" msgstr " . целочисленное значение (значения: от %d до %d)\n" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr " . значение по умолчанию: %d\n" @@ -3636,8 +3636,8 @@ msgid " . type string (values: " msgstr " . строковой тип (значения: " #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "пусто" @@ -3649,7 +3649,7 @@ msgstr " . цветовой тип (цвет Curses или Gtk, см. доку msgid " . type string (any string)\n" msgstr " . строковой тип (любая строка)\n" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr " . описание: %s\n" @@ -4138,7 +4138,7 @@ msgstr "%s не могу удалить файл сессии (%s)\n" msgid "Upgrade completed successfully\n" msgstr "Обновление успешно\n" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" @@ -4147,7 +4147,7 @@ msgstr "" "%s (c) Copyright 2003-2006, собран %s %s\n" "Разработчик - FlashCode - %s" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -4158,7 +4158,7 @@ msgstr "" " или: %s [irc[6][s]://[ник[:пароль]@]irc.example.org[:порт][/канал]" "[,канал[...]]" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -4187,7 +4187,7 @@ msgstr "" " -v, --version отобразить версию WeeChat\n" " -w, --weechat-commands отобразить команды WeeChat\n" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" @@ -4196,115 +4196,119 @@ msgstr "" "Параметры конфигурации WeeChat (/weechat.rc):\n" "\n" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr " . тип: булевый\n" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr " . значения: 'on' или 'off'\n" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr " . тип: целочисленный\n" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr " . значения: от %d до %d\n" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr " . тип: строка\n" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr " . значения: " -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr " . тип: цвет\n" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr " . значения: цвет Curses или Gtk\n" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr " . значения: любая строка\n" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "%s клавиши по умолчанию:\n" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "%s нехватает аргументов для параметра --dir\n" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "%s нет аргумента для параметра --session\n" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "%s некорректный синтаксис IRC сервра ('%s'), игнорируется\n" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "%s не могу создать сервер ('%s'), игнорируется\n" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "%s неизвестный параметр '%s', игнорируется\n" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "%s не могу создать директорию \"%s\"\n" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "%s не могу получить домашний каталог\n" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "%s недостаточно памяти для домашней директории\n" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "%s не могу создать директорию \"%s\"\n" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" "If another WeeChat process is using this file, try to run WeeChat\n" "with another home using \"--dir\" command line option.\n" msgstr "" +"%s не может начать/продолжить журнал (%s/%s)\n" +"Если другой процесс WeeChat использует этот файл, попробуйте запускать " +"WeeChat\n" +"с другой домашней директорией используя параметр \"--dir\".\n" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "%sДобро пожаловать в %s%s%s, %s\n" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "собран:" diff --git a/weechat/po/weechat.pot b/weechat/po/weechat.pot index edd24040c..4083220b4 100644 --- a/weechat/po/weechat.pot +++ b/weechat/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: 2006-05-16 15:53+0200\n" +"POT-Creation-Date: 2006-05-19 05:30+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3108,12 +3108,12 @@ msgstr "" msgid "Auto-reconnection is cancelled\n" msgstr "" -#: src/common/command.c:2201 src/common/weechat.c:490 +#: src/common/command.c:2201 src/common/weechat.c:491 #, c-format msgid "%s internal commands:\n" msgstr "" -#: src/common/command.c:2211 src/common/weechat.c:510 +#: src/common/command.c:2211 src/common/weechat.c:511 #, c-format msgid "IRC commands:\n" msgstr "" @@ -3163,7 +3163,7 @@ msgstr "" msgid "%s unable to unbind key \"%s\"\n" msgstr "" -#: src/common/command.c:2578 src/common/weechat.c:542 +#: src/common/command.c:2578 src/common/weechat.c:543 #, c-format msgid "Internal key functions:\n" msgstr "" @@ -3368,8 +3368,8 @@ msgstr "" #: src/common/command.c:3467 src/common/command.c:3490 #: src/common/command.c:3496 src/common/command.c:3502 -#: src/common/weechat.c:426 src/common/weechat.c:451 src/common/weechat.c:458 -#: src/common/weechat.c:465 +#: src/common/weechat.c:427 src/common/weechat.c:452 src/common/weechat.c:459 +#: src/common/weechat.c:466 #, c-format msgid " . default value: '%s'\n" msgstr "" @@ -3379,7 +3379,7 @@ msgstr "" msgid " . type integer (values: between %d and %d)\n" msgstr "" -#: src/common/command.c:3475 src/common/weechat.c:435 +#: src/common/command.c:3475 src/common/weechat.c:436 #, c-format msgid " . default value: %d\n" msgstr "" @@ -3389,8 +3389,8 @@ msgid " . type string (values: " msgstr "" #: src/common/command.c:3492 src/common/command.c:3498 -#: src/common/command.c:3504 src/common/weechat.c:453 src/common/weechat.c:460 -#: src/common/weechat.c:467 +#: src/common/command.c:3504 src/common/weechat.c:454 src/common/weechat.c:461 +#: src/common/weechat.c:468 msgid "empty" msgstr "" @@ -3402,7 +3402,7 @@ msgstr "" msgid " . type string (any string)\n" msgstr "" -#: src/common/command.c:3507 src/common/weechat.c:470 +#: src/common/command.c:3507 src/common/weechat.c:471 #, c-format msgid " . description: %s\n" msgstr "" @@ -3876,14 +3876,14 @@ msgstr "" msgid "Upgrade completed successfully\n" msgstr "" -#: src/common/weechat.c:380 +#: src/common/weechat.c:381 #, c-format msgid "" "%s (c) Copyright 2003-2006, compiled on %s %s\n" "Developed by FlashCode - %s" msgstr "" -#: src/common/weechat.c:384 +#: src/common/weechat.c:385 #, c-format msgid "" "Usage: %s [options ...]\n" @@ -3891,7 +3891,7 @@ msgid "" "[,channel[...]]" msgstr "" -#: src/common/weechat.c:388 +#: src/common/weechat.c:389 #, c-format msgid "" " -a, --no-connect disable auto-connect to servers at startup\n" @@ -3907,109 +3907,109 @@ msgid "" " -w, --weechat-commands display WeeChat commands\n" msgstr "" -#: src/common/weechat.c:411 +#: src/common/weechat.c:412 #, c-format msgid "" "WeeChat configuration options (/weechat.rc):\n" "\n" msgstr "" -#: src/common/weechat.c:424 +#: src/common/weechat.c:425 #, c-format msgid " . type: boolean\n" msgstr "" -#: src/common/weechat.c:425 +#: src/common/weechat.c:426 #, c-format msgid " . values: 'on' or 'off'\n" msgstr "" -#: src/common/weechat.c:431 +#: src/common/weechat.c:432 #, c-format msgid " . type: integer\n" msgstr "" -#: src/common/weechat.c:432 +#: src/common/weechat.c:433 #, c-format msgid " . values: between %d and %d\n" msgstr "" -#: src/common/weechat.c:439 src/common/weechat.c:463 +#: src/common/weechat.c:440 src/common/weechat.c:464 #, c-format msgid " . type: string\n" msgstr "" -#: src/common/weechat.c:440 +#: src/common/weechat.c:441 #, c-format msgid " . values: " msgstr "" -#: src/common/weechat.c:456 +#: src/common/weechat.c:457 #, c-format msgid " . type: color\n" msgstr "" -#: src/common/weechat.c:457 +#: src/common/weechat.c:458 #, c-format msgid " . values: Curses or Gtk color\n" msgstr "" -#: src/common/weechat.c:464 +#: src/common/weechat.c:465 #, c-format msgid " . values: any string\n" msgstr "" -#: src/common/weechat.c:564 +#: src/common/weechat.c:565 #, c-format msgid "%s default keys:\n" msgstr "" -#: src/common/weechat.c:613 +#: src/common/weechat.c:614 #, c-format msgid "%s missing argument for --dir option\n" msgstr "" -#: src/common/weechat.c:658 +#: src/common/weechat.c:659 #, c-format msgid "%s missing argument for --session option\n" msgstr "" -#: src/common/weechat.c:679 +#: src/common/weechat.c:680 #, c-format msgid "%s invalid syntax for IRC server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:694 +#: src/common/weechat.c:695 #, c-format msgid "%s unable to create server ('%s'), ignored\n" msgstr "" -#: src/common/weechat.c:703 +#: src/common/weechat.c:704 #, c-format msgid "%s unknown parameter '%s', ignored\n" msgstr "" -#: src/common/weechat.c:723 +#: src/common/weechat.c:724 #, c-format msgid "%s cannot create directory \"%s\"\n" msgstr "" -#: src/common/weechat.c:746 +#: src/common/weechat.c:747 #, c-format msgid "%s unable to get HOME directory\n" msgstr "" -#: src/common/weechat.c:755 +#: src/common/weechat.c:756 #, c-format msgid "%s not enough memory for home directory\n" msgstr "" -#: src/common/weechat.c:766 src/common/weechat.c:790 src/common/weechat.c:806 +#: src/common/weechat.c:767 src/common/weechat.c:791 src/common/weechat.c:807 #, c-format msgid "%s unable to create \"%s\" directory\n" msgstr "" -#: src/common/weechat.c:856 +#: src/common/weechat.c:857 #, c-format msgid "" "%s unable to create/append to log file (%s/%s)\n" @@ -4017,12 +4017,12 @@ msgid "" "with another home using \"--dir\" command line option.\n" msgstr "" -#: src/common/weechat.c:911 +#: src/common/weechat.c:912 #, c-format msgid "%sWelcome to %s%s%s, %s\n" msgstr "" -#: src/common/weechat.c:925 src/common/weechat.c:935 +#: src/common/weechat.c:926 src/common/weechat.c:936 msgid "compiled on" msgstr "" diff --git a/weechat/src/common/Makefile.am b/weechat/src/common/Makefile.am index 1e84078ec..78d82d531 100644 --- a/weechat/src/common/Makefile.am +++ b/weechat/src/common/Makefile.am @@ -21,6 +21,8 @@ noinst_LIBRARIES = lib_weechat_main.a lib_weechat_main_a_SOURCES = weechat.c \ weechat.h \ + backtrace.c \ + backtrace.h \ command.c \ command.h \ completion.c \ diff --git a/weechat/src/common/backtrace.c b/weechat/src/common/backtrace.c new file mode 100644 index 000000000..9c67c2f40 --- /dev/null +++ b/weechat/src/common/backtrace.c @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2003-2006 by FlashCode + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* backtrace.c: display backtrace after a segfault */ + + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#define __USE_GNU +#include + +#ifdef HAVE_BACKTRACE +#include +#endif + +#include "weechat.h" +#include "backtrace.h" + + +/* + * weechat_backtrace_addr2line: display function name and line with a backtrace address + */ + +void +weechat_backtrace_addr2line (int number, void *address, char *symbol) +{ + int rc; + Dl_info info; + const void *addr; + FILE *output; + char cmd_line[1024]; + char line[1024], *ptr_line, *pos; + char function_name[1024]; + int file_line; + + rc = dladdr (address, &info); + if ((rc == 0) || !info.dli_fname || !info.dli_fname[0]) + { + fprintf (stderr, "%03d %s\n", number, symbol); + return; + } + + addr = address; + if (info.dli_fbase >= (const void *) 0x40000000) + addr = (const char *) addr - (unsigned int) info.dli_fbase; + + snprintf (cmd_line, sizeof (cmd_line), + "addr2line --functions --demangle -e %s %p", + info.dli_fname, addr); + output = popen (cmd_line, "r"); + if (!output) + { + fprintf (stderr, "%03d %s\n", number, symbol); + return; + } + function_name[0] = '\0'; + file_line = 0; + while (!feof (output)) + { + ptr_line = fgets (line, sizeof (line) - 1, output); + if (ptr_line && ptr_line[0]) + { + pos = strchr (ptr_line, '\n'); + if (pos) + pos[0] = '\0'; + if (strchr (ptr_line, ':')) + { + file_line = 1; + fprintf (stderr, "%03d %s%s%s%s\n", + number, + ptr_line, + (function_name[0]) ? " [function " : "", + function_name, + (function_name[0]) ? "]" : ""); + function_name[0] = '\0'; + } + else + { + if (function_name[0]) + fprintf (stderr, "%03d %s", number, function_name); + snprintf (function_name, sizeof (function_name), + "%s", ptr_line); + } + } + } + if (function_name[0]) + fprintf (stderr, "%03d %s\n", number, function_name); + pclose (output); +} + +/* + * weechat_backtrace: display backtrace (called when a SIGSEGV is received) + */ + +void +weechat_backtrace () +{ +#ifdef HAVE_BACKTRACE + void *trace[BACKTRACE_MAX]; + int trace_size, i; + char **symbols; + + trace_size = backtrace (trace, BACKTRACE_MAX); + symbols = backtrace_symbols (trace, trace_size); + + for (i = 0; i < trace_size; i++) + { + weechat_backtrace_addr2line (i + 1, trace[i], symbols[i]); + } +#else + fprintf (stderr, + " No backtrace info (no debug info available or no backtrace possible " + "on your system).\n"); +#endif +} diff --git a/weechat/src/common/backtrace.h b/weechat/src/common/backtrace.h new file mode 100644 index 000000000..67e3751dc --- /dev/null +++ b/weechat/src/common/backtrace.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2003-2006 by FlashCode + * See README for License detail, AUTHORS for developers list. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +#ifndef __WEECHAT_BACKTACE_H +#define __WEECHAT_BACKTACE_H 1 + +#define BACKTRACE_MAX 128 + +extern void weechat_backtrace (); + +#endif /* backtrace.h */ diff --git a/weechat/src/common/weechat.c b/weechat/src/common/weechat.c index 8a69facdb..f82a622e7 100644 --- a/weechat/src/common/weechat.c +++ b/weechat/src/common/weechat.c @@ -62,6 +62,7 @@ #endif #include "weechat.h" +#include "backtrace.h" #include "weeconfig.h" #include "command.h" #include "fifo.h" @@ -1075,12 +1076,26 @@ weechat_sigsegv () dcc_end (); server_free_all (); gui_main_end (); + fprintf (stderr, "\n"); - fprintf (stderr, "*** Very bad! WeeChat has crashed (SIGSEGV received)\n"); - fprintf (stderr, "*** Full crash dump was saved to %s/weechat.log file\n", weechat_home); - fprintf (stderr, "*** Please send this file to WeeChat developers.\n"); - fprintf (stderr, "*** (be careful, private info may be in this file since\n"); - fprintf (stderr, "*** part of chats are displayed, so remove lines if needed)\n\n"); + fprintf (stderr, "*** Very bad! WeeChat is crashing (SIGSEGV received)\n"); + fprintf (stderr, "*** (%s, compiled on %s %s)\n", + PACKAGE_STRING, __DATE__, __TIME__); + fprintf (stderr, "*** Full crash dump was saved to %s/weechat.log file.\n", + weechat_home); + fprintf (stderr, "***\n"); + fprintf (stderr, "*** Please help WeeChat developers to fix this bug:\n"); + fprintf (stderr, "*** 1. if you have a core file, please run: gdb weechat-curses core\n"); + fprintf (stderr, "*** then issue \"bt\" command and send result to developers\n"); + fprintf (stderr, "*** 2. otherwise send backtrace displayed below and weechat.log\n"); + fprintf (stderr, "*** (be careful, private info may be in this file since\n"); + fprintf (stderr, "*** part of chats are displayed, so remove lines if needed)\n\n"); + + fprintf (stderr, "======= WeeChat backtrace =======\n"); + weechat_backtrace (); + fprintf (stderr, "======= End of backtrace =======\n"); + + /* shutdown with error code */ weechat_shutdown (EXIT_FAILURE, 1); }