1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-08 02:33:12 +02:00

Servers allowed on command line (irc://nick:passwd@irc.example.org:port)

This commit is contained in:
Sebastien Helleu
2004-01-18 23:53:34 +00:00
parent 09a36a5d8e
commit 38bf163c17
16 changed files with 740 additions and 452 deletions
+78 -64
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.0.5-pre2\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2004-01-18 19:34+0100\n"
"POT-Creation-Date: 2004-01-19 00:47+0100\n"
"PO-Revision-Date: 2004-01-01 11:52+0100\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -20,76 +20,76 @@ msgstr ""
msgid "%s cannot allocate new nick\n"
msgstr "%s ompossible d'allouer un nouveau pseudo\n"
#: src/irc/irc-server.c:95
#: src/irc/irc-server.c:158
#, c-format
msgid "%s cannot allocate new server\n"
msgstr "%s impossible d'allouer un nouveau serveur\n"
#: src/irc/irc-server.c:351
#: src/irc/irc-server.c:415
#, c-format
msgid "%s unable to explode received buffer\n"
msgstr "%s impossible d'exploser le tampon de réception\n"
#: src/irc/irc-server.c:424
#: src/irc/irc-server.c:488
#, c-format
msgid "Command '%s' failed!\n"
msgstr "La commande '%s' a échoué !\n"
#: src/irc/irc-server.c:428
#: src/irc/irc-server.c:492
msgid "No command to execute!\n"
msgstr "Pas de commande à exécuter !\n"
#: src/irc/irc-server.c:432
#: src/irc/irc-server.c:496
#, c-format
msgid "Unknown command: cmd=%s, args=%s\n"
msgstr "Commande inconnue: cmd=%s, params=%s\n"
#: src/irc/irc-server.c:482
#: src/irc/irc-server.c:546
#, c-format
msgid "%s: connecting to %s:%d...\n"
msgstr "%s: connexion à %s:%d...\n"
#: src/irc/irc-server.c:484
#: src/irc/irc-server.c:548
#, c-format
msgid "connecting to server %s:%d...\n"
msgstr "connexion au serveur %s:%d...\n"
#: src/irc/irc-server.c:492
#: src/irc/irc-server.c:556
#, c-format
msgid "%s cannot create pipe\n"
msgstr "%s impossible de créer le pipe\n"
#: src/irc/irc-server.c:506
#: src/irc/irc-server.c:570
#, c-format
msgid "%s cannot set socket option \"SO_REUSEADDR\"\n"
msgstr "%s impossible de paramétrer l'option socket \"SO_REUSEADDR\"\n"
#: src/irc/irc-server.c:513
#: src/irc/irc-server.c:577
#, c-format
msgid "%s cannot set socket option \"SO_KEEPALIVE\"\n"
msgstr "%s impossible de paramétrer l'option socket \"SO_KEEPALIVE\"\n"
#: src/irc/irc-server.c:521
#: src/irc/irc-server.c:585
#, c-format
msgid "%s address \"%s\" not found\n"
msgstr "%s adresse \"%s\" introuvable\n"
#: src/irc/irc-server.c:544
#: src/irc/irc-server.c:608
#, c-format
msgid "%s IP address not found\n"
msgstr "%s adresse IP introuvable\n"
#: src/irc/irc-server.c:554
#: src/irc/irc-server.c:618
#, c-format
msgid "%s: server IP is: %s\n"
msgstr "%s: l'adresse IP du serveur est : %s\n"
#: src/irc/irc-server.c:560
#: src/irc/irc-server.c:624
#, c-format
msgid "%s cannot connect to irc server\n"
msgstr "%s connexion au serveur irc impossible\n"
#: src/irc/irc-server.c:609
#: src/irc/irc-server.c:674
msgid "Disconnected from server!\n"
msgstr "Déconnecté du serveur !\n"
@@ -1906,8 +1906,8 @@ msgstr "non connect
#: src/common/command.c:1170
#, c-format
msgid " Autoconnect: %s\n"
msgstr " Autoconnect: %s\n"
msgid " Autoconnect: %s%s\n"
msgstr " Autoconnect: %s%s\n"
#: src/common/command.c:1171
msgid "yes"
@@ -1917,134 +1917,138 @@ msgstr "oui"
msgid "no"
msgstr "non"
#: src/common/command.c:1175
#: src/common/command.c:1173
msgid " (temporary server, will not be saved)"
msgstr " (serveur temporaire, ne sera pas sauvé)"
#: src/common/command.c:1178
#, c-format
msgid " Hostname : %s\n"
msgstr " Nom/IP : %s\n"
#: src/common/command.c:1180
#: src/common/command.c:1183
#, c-format
msgid " Port : %d\n"
msgstr " Port : %d\n"
#: src/common/command.c:1186
#: src/common/command.c:1189
msgid " Password : (hidden)\n"
msgstr " Mot passe : (caché)\n"
#: src/common/command.c:1190
#: src/common/command.c:1193
msgid " Password : (none)\n"
msgstr " Mot passe : (aucun)\n"
#: src/common/command.c:1194
#: src/common/command.c:1197
#, c-format
msgid " Nicks : %s"
msgstr " Pseudos : %s"
#: src/common/command.c:1211
#: src/common/command.c:1214
#, c-format
msgid " Username : %s\n"
msgstr " Nom utilis.: %s\n"
#: src/common/command.c:1216
#: src/common/command.c:1219
#, c-format
msgid " Realname : %s\n"
msgstr " Nom réel : %s\n"
#: src/common/command.c:1222
#: src/common/command.c:1225
#, c-format
msgid " Command : %s\n"
msgstr " Commande : %s\n"
#: src/common/command.c:1227
#: src/common/command.c:1230
msgid " Command : (none)\n"
msgstr " Commande : (aucune)\n"
#: src/common/command.c:1232
#: src/common/command.c:1235
#, c-format
msgid " Auto-join : %s\n"
msgstr " Auto-join : %s\n"
#: src/common/command.c:1237
#: src/common/command.c:1240
msgid " Auto-join : (none)\n"
msgstr " Auto-join : (aucun)\n"
#: src/common/command.c:1241
#: src/common/command.c:1244
msgid "No server.\n"
msgstr "Pas de serveur.\n"
#: src/common/command.c:1250
#: src/common/command.c:1253
#, c-format
msgid "%s missing servername for \"%s\" command\n"
msgstr "%s il manque le nom du serveur pour la commande \"%s\"\n"
#: src/common/command.c:1256
#: src/common/command.c:1259
#, c-format
msgid "%s too much arguments for \"%s\" command, ignoring arguments\n"
msgstr "%s trop de paramètres pour la commande \"%s\", paramètres ignorés\n"
#: src/common/command.c:1273
#: src/common/command.c:1276
#, c-format
msgid "%s server \"%s\" not found for \"%s\" command\n"
msgstr "%s le serveur \"%s\" n'existe pas pour la commande \"%s\"\n"
#: src/common/command.c:1279 src/common/command.c:1410
#: src/common/command.c:1282 src/common/command.c:1413
msgid "Server"
msgstr "Serveur"
#: src/common/command.c:1282
#: src/common/command.c:1285
msgid "has been deleted\n"
msgstr "a été supprimé\n"
#: src/common/command.c:1296
#: src/common/command.c:1299
#, c-format
msgid "%s missing parameters for \"%s\" command\n"
msgstr "%s paramètres manquants pour la commande \"%s\"\n"
#: src/common/command.c:1305
#: src/common/command.c:1308
#, c-format
msgid "%s server \"%s\" already exists, can't create it!\n"
msgstr "%s le serveur \"%s\" existe déjà, impossible de le créer !\n"
#: src/common/command.c:1329 src/common/command.c:1355
#: src/common/command.c:1367 src/common/command.c:1391
#: src/common/command.c:1332 src/common/command.c:1358
#: src/common/command.c:1370 src/common/command.c:1394
#, c-format
msgid "%s missing password for \"%s\" parameter\n"
msgstr "%s mot de passe manquant pour le paramètre \"%s\"\n"
#: src/common/command.c:1341
#: src/common/command.c:1344
#, c-format
msgid "%s missing nick(s) for \"%s\" parameter\n"
msgstr "%s pseudo(s) manquant(s) pour le paramètre \"%s\"\n"
#: src/common/command.c:1379
#: src/common/command.c:1382
#, c-format
msgid "%s missing command for \"%s\" parameter\n"
msgstr "%s commande manquante pour le paramètre \"%s\"\n"
#: src/common/command.c:1413
#: src/common/command.c:1416
msgid "created\n"
msgstr "créé\n"
#: src/common/command.c:1418
#: src/common/command.c:1421
#, c-format
msgid "%s unable to create server\n"
msgstr "%s impossible de créer le serveur\n"
#: src/common/command.c:1490
#: src/common/command.c:1493
msgid "(unknown)"
msgstr "(inconnu)"
#: src/common/command.c:1523
#: src/common/command.c:1526
#, c-format
msgid "%s alias or command \"%s\" not found\n"
msgstr "%s alias ou commande \"%s\" non trouvé\n"
#: src/common/command.c:1532
#: src/common/command.c:1535
#, c-format
msgid "Alias \"%s\" removed\n"
msgstr "Alias \"%s\" supprimé\n"
#: src/common/weechat.c:120
#: src/common/weechat.c:116
msgid ""
"WeeChat configuration options (~/.weechat/weechat.rc):\n"
"\n"
@@ -2052,43 +2056,43 @@ msgstr ""
"Options de configuration de WeeChat (~/.weechat/weechat.rc):\n"
"\n"
#: src/common/weechat.c:133
#: src/common/weechat.c:129
msgid " . type boolean (values: 'on' or 'off')\n"
msgstr " . type booléen (valeurs: 'on' ou 'off')\n"
#: src/common/weechat.c:134 src/common/weechat.c:157 src/common/weechat.c:163
#: src/common/weechat.c:169
#: src/common/weechat.c:130 src/common/weechat.c:153 src/common/weechat.c:159
#: src/common/weechat.c:165
#, c-format
msgid " . default value: '%s'\n"
msgstr " . valeur par défaut: '%s'\n"
#: src/common/weechat.c:139
#: src/common/weechat.c:135
#, c-format
msgid " . type integer (values: between %d and %d)\n"
msgstr " . type entier (valeurs: entre %d et %d)\n"
#: src/common/weechat.c:142
#: src/common/weechat.c:138
#, c-format
msgid " . default value: %d\n"
msgstr " . valeur par défaut: %d\n"
#: src/common/weechat.c:146
#: src/common/weechat.c:142
msgid " . type string (values: "
msgstr " . type chaîne (valeurs: "
#: src/common/weechat.c:159 src/common/weechat.c:165 src/common/weechat.c:171
#: src/common/weechat.c:155 src/common/weechat.c:161 src/common/weechat.c:167
msgid "empty"
msgstr "vide"
#: src/common/weechat.c:162
#: src/common/weechat.c:158
msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n"
msgstr " . type couleur (couleur Curses ou Gtk, voir la doc WeeChat)\n"
#: src/common/weechat.c:168
#: src/common/weechat.c:164
msgid " . type string (any string)\n"
msgstr " . type chaîne (toute chaîne)\n"
#: src/common/weechat.c:174
#: src/common/weechat.c:170
#, c-format
msgid ""
" . description: %s\n"
@@ -2097,14 +2101,14 @@ msgstr ""
" . description: %s\n"
"\n"
#: src/common/weechat.c:180
#: src/common/weechat.c:176
msgid ""
"Moreover, you can define aliases in [alias] section, by adding lines like:\n"
msgstr ""
"De plus, vous pouvez définir des alias dans la section [alias], en ajoutant "
"des lignes comme :\n"
#: src/common/weechat.c:182
#: src/common/weechat.c:178
msgid ""
"where 'j' is alias name, and 'join' associated command.\n"
"\n"
@@ -2112,27 +2116,37 @@ msgstr ""
"où 'j' est le nom de l'alias, et 'join' la commande associée.\n"
"\n"
#: src/common/weechat.c:206
#: src/common/weechat.c:224
#, 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:238
#, c-format
msgid "%s unable to create server ('%s'), ignored\n"
msgstr "%s impossible de créer le serveur ('%s'), ignoré\n"
#: src/common/weechat.c:247
#, c-format
msgid "%s unknown parameter '%s', ignored\n"
msgstr "%s paramètre inconnu '%s', ignoré\n"
#: src/common/weechat.c:226
#: src/common/weechat.c:267
#, c-format
msgid "%s cannot create directory \"%s\"\n"
msgstr "%s impossible de créer le répertoire \"%s\"\n"
#: src/common/weechat.c:328
#: src/common/weechat.c:369
#, c-format
msgid "%s unable to create/append to log file (~/.weechat/%s)"
msgstr "%s impossible de créer/ajouter dans le fichier de log (~/.weechat/%s)"
#: src/common/weechat.c:352
#: src/common/weechat.c:393
#, c-format
msgid "%sWelcome to "
msgstr "%sBienvenue dans "
#: src/common/weechat.c:365
#: src/common/weechat.c:406
msgid "compiled on"
msgstr "compilé le"
+77 -63
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2004-01-18 19:34+0100\n"
"POT-Creation-Date: 2004-01-19 00:47+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -20,76 +20,76 @@ msgstr ""
msgid "%s cannot allocate new nick\n"
msgstr ""
#: src/irc/irc-server.c:95
#: src/irc/irc-server.c:158
#, c-format
msgid "%s cannot allocate new server\n"
msgstr ""
#: src/irc/irc-server.c:351
#: src/irc/irc-server.c:415
#, c-format
msgid "%s unable to explode received buffer\n"
msgstr ""
#: src/irc/irc-server.c:424
#: src/irc/irc-server.c:488
#, c-format
msgid "Command '%s' failed!\n"
msgstr ""
#: src/irc/irc-server.c:428
#: src/irc/irc-server.c:492
msgid "No command to execute!\n"
msgstr ""
#: src/irc/irc-server.c:432
#: src/irc/irc-server.c:496
#, c-format
msgid "Unknown command: cmd=%s, args=%s\n"
msgstr ""
#: src/irc/irc-server.c:482
#: src/irc/irc-server.c:546
#, c-format
msgid "%s: connecting to %s:%d...\n"
msgstr ""
#: src/irc/irc-server.c:484
#: src/irc/irc-server.c:548
#, c-format
msgid "connecting to server %s:%d...\n"
msgstr ""
#: src/irc/irc-server.c:492
#: src/irc/irc-server.c:556
#, c-format
msgid "%s cannot create pipe\n"
msgstr ""
#: src/irc/irc-server.c:506
#: src/irc/irc-server.c:570
#, c-format
msgid "%s cannot set socket option \"SO_REUSEADDR\"\n"
msgstr ""
#: src/irc/irc-server.c:513
#: src/irc/irc-server.c:577
#, c-format
msgid "%s cannot set socket option \"SO_KEEPALIVE\"\n"
msgstr ""
#: src/irc/irc-server.c:521
#: src/irc/irc-server.c:585
#, c-format
msgid "%s address \"%s\" not found\n"
msgstr ""
#: src/irc/irc-server.c:544
#: src/irc/irc-server.c:608
#, c-format
msgid "%s IP address not found\n"
msgstr ""
#: src/irc/irc-server.c:554
#: src/irc/irc-server.c:618
#, c-format
msgid "%s: server IP is: %s\n"
msgstr ""
#: src/irc/irc-server.c:560
#: src/irc/irc-server.c:624
#, c-format
msgid "%s cannot connect to irc server\n"
msgstr ""
#: src/irc/irc-server.c:609
#: src/irc/irc-server.c:674
msgid "Disconnected from server!\n"
msgstr ""
@@ -1773,7 +1773,7 @@ msgstr ""
#: src/common/command.c:1170
#, c-format
msgid " Autoconnect: %s\n"
msgid " Autoconnect: %s%s\n"
msgstr ""
#: src/common/command.c:1171
@@ -1784,214 +1784,228 @@ msgstr ""
msgid "no"
msgstr ""
#: src/common/command.c:1175
#: src/common/command.c:1173
msgid " (temporary server, will not be saved)"
msgstr ""
#: src/common/command.c:1178
#, c-format
msgid " Hostname : %s\n"
msgstr ""
#: src/common/command.c:1180
#: src/common/command.c:1183
#, c-format
msgid " Port : %d\n"
msgstr ""
#: src/common/command.c:1186
#: src/common/command.c:1189
msgid " Password : (hidden)\n"
msgstr ""
#: src/common/command.c:1190
#: src/common/command.c:1193
msgid " Password : (none)\n"
msgstr ""
#: src/common/command.c:1194
#: src/common/command.c:1197
#, c-format
msgid " Nicks : %s"
msgstr ""
#: src/common/command.c:1211
#: src/common/command.c:1214
#, c-format
msgid " Username : %s\n"
msgstr ""
#: src/common/command.c:1216
#: src/common/command.c:1219
#, c-format
msgid " Realname : %s\n"
msgstr ""
#: src/common/command.c:1222
#: src/common/command.c:1225
#, c-format
msgid " Command : %s\n"
msgstr ""
#: src/common/command.c:1227
#: src/common/command.c:1230
msgid " Command : (none)\n"
msgstr ""
#: src/common/command.c:1232
#: src/common/command.c:1235
#, c-format
msgid " Auto-join : %s\n"
msgstr ""
#: src/common/command.c:1237
#: src/common/command.c:1240
msgid " Auto-join : (none)\n"
msgstr ""
#: src/common/command.c:1241
#: src/common/command.c:1244
msgid "No server.\n"
msgstr ""
#: src/common/command.c:1250
#: src/common/command.c:1253
#, c-format
msgid "%s missing servername for \"%s\" command\n"
msgstr ""
#: src/common/command.c:1256
#: src/common/command.c:1259
#, c-format
msgid "%s too much arguments for \"%s\" command, ignoring arguments\n"
msgstr ""
#: src/common/command.c:1273
#: src/common/command.c:1276
#, c-format
msgid "%s server \"%s\" not found for \"%s\" command\n"
msgstr ""
#: src/common/command.c:1279 src/common/command.c:1410
#: src/common/command.c:1282 src/common/command.c:1413
msgid "Server"
msgstr ""
#: src/common/command.c:1282
#: src/common/command.c:1285
msgid "has been deleted\n"
msgstr ""
#: src/common/command.c:1296
#: src/common/command.c:1299
#, c-format
msgid "%s missing parameters for \"%s\" command\n"
msgstr ""
#: src/common/command.c:1305
#: src/common/command.c:1308
#, c-format
msgid "%s server \"%s\" already exists, can't create it!\n"
msgstr ""
#: src/common/command.c:1329 src/common/command.c:1355
#: src/common/command.c:1367 src/common/command.c:1391
#: src/common/command.c:1332 src/common/command.c:1358
#: src/common/command.c:1370 src/common/command.c:1394
#, c-format
msgid "%s missing password for \"%s\" parameter\n"
msgstr ""
#: src/common/command.c:1341
#: src/common/command.c:1344
#, c-format
msgid "%s missing nick(s) for \"%s\" parameter\n"
msgstr ""
#: src/common/command.c:1379
#: src/common/command.c:1382
#, c-format
msgid "%s missing command for \"%s\" parameter\n"
msgstr ""
#: src/common/command.c:1413
#: src/common/command.c:1416
msgid "created\n"
msgstr ""
#: src/common/command.c:1418
#: src/common/command.c:1421
#, c-format
msgid "%s unable to create server\n"
msgstr ""
#: src/common/command.c:1490
#: src/common/command.c:1493
msgid "(unknown)"
msgstr ""
#: src/common/command.c:1523
#: src/common/command.c:1526
#, c-format
msgid "%s alias or command \"%s\" not found\n"
msgstr ""
#: src/common/command.c:1532
#: src/common/command.c:1535
#, c-format
msgid "Alias \"%s\" removed\n"
msgstr ""
#: src/common/weechat.c:120
#: src/common/weechat.c:116
msgid ""
"WeeChat configuration options (~/.weechat/weechat.rc):\n"
"\n"
msgstr ""
#: src/common/weechat.c:133
#: src/common/weechat.c:129
msgid " . type boolean (values: 'on' or 'off')\n"
msgstr ""
#: src/common/weechat.c:134 src/common/weechat.c:157 src/common/weechat.c:163
#: src/common/weechat.c:169
#: src/common/weechat.c:130 src/common/weechat.c:153 src/common/weechat.c:159
#: src/common/weechat.c:165
#, c-format
msgid " . default value: '%s'\n"
msgstr ""
#: src/common/weechat.c:139
#: src/common/weechat.c:135
#, c-format
msgid " . type integer (values: between %d and %d)\n"
msgstr ""
#: src/common/weechat.c:142
#: src/common/weechat.c:138
#, c-format
msgid " . default value: %d\n"
msgstr ""
#: src/common/weechat.c:146
#: src/common/weechat.c:142
msgid " . type string (values: "
msgstr ""
#: src/common/weechat.c:159 src/common/weechat.c:165 src/common/weechat.c:171
#: src/common/weechat.c:155 src/common/weechat.c:161 src/common/weechat.c:167
msgid "empty"
msgstr ""
#: src/common/weechat.c:162
#: src/common/weechat.c:158
msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n"
msgstr ""
#: src/common/weechat.c:168
#: src/common/weechat.c:164
msgid " . type string (any string)\n"
msgstr ""
#: src/common/weechat.c:174
#: src/common/weechat.c:170
#, c-format
msgid ""
" . description: %s\n"
"\n"
msgstr ""
#: src/common/weechat.c:180
#: src/common/weechat.c:176
msgid ""
"Moreover, you can define aliases in [alias] section, by adding lines like:\n"
msgstr ""
#: src/common/weechat.c:182
#: src/common/weechat.c:178
msgid ""
"where 'j' is alias name, and 'join' associated command.\n"
"\n"
msgstr ""
#: src/common/weechat.c:206
#: src/common/weechat.c:224
#, c-format
msgid "%s invalid syntax for IRC server ('%s'), ignored\n"
msgstr ""
#: src/common/weechat.c:238
#, c-format
msgid "%s unable to create server ('%s'), ignored\n"
msgstr ""
#: src/common/weechat.c:247
#, c-format
msgid "%s unknown parameter '%s', ignored\n"
msgstr ""
#: src/common/weechat.c:226
#: src/common/weechat.c:267
#, c-format
msgid "%s cannot create directory \"%s\"\n"
msgstr ""
#: src/common/weechat.c:328
#: src/common/weechat.c:369
#, c-format
msgid "%s unable to create/append to log file (~/.weechat/%s)"
msgstr ""
#: src/common/weechat.c:352
#: src/common/weechat.c:393
#, c-format
msgid "%sWelcome to "
msgstr ""
#: src/common/weechat.c:365
#: src/common/weechat.c:406
msgid "compiled on"
msgstr ""
+10 -7
View File
@@ -1167,8 +1167,11 @@ weechat_cmd_server (int argc, char **argv)
irc_display_prefix (NULL, PREFIX_INFO);
gui_printf_color (NULL,
COLOR_WIN_CHAT,
_(" Autoconnect: %s\n"),
(ptr_server->autoconnect) ? _("yes") : _("no"));
_(" Autoconnect: %s%s\n"),
(ptr_server->autoconnect) ? _("yes") : _("no"),
(ptr_server->command_line) ?
_(" (temporary server, will not be saved)") :
"");
irc_display_prefix (NULL, PREFIX_INFO);
gui_printf_color (NULL,
COLOR_WIN_CHAT,
@@ -1399,11 +1402,11 @@ weechat_cmd_server (int argc, char **argv)
}
/* create new server */
new_server = server_new (server.name, server.autoconnect, server.address,
server.port, server.password, server.nick1,
server.nick2, server.nick3, server.username,
server.realname, server.command,
server.autojoin);
new_server = server_new (server.name, server.autoconnect, 0,
server.address, server.port, server.password,
server.nick1, server.nick2, server.nick3,
server.username, server.realname,
server.command, server.autojoin);
if (new_server)
{
irc_display_prefix (NULL, PREFIX_INFO);
+104 -66
View File
@@ -63,6 +63,8 @@ int quit_weechat; /* = 1 if quit request from user... why ? :'( */
char *weechat_home; /* WeeChat home dir. (example: /home/toto/.weechat) */
FILE *log_file; /* WeeChat log file (~/.weechat/weechat.log) */
int server_cmd_line; /* at least one server on WeeChat command line */
/*
* my_sigint: SIGINT handler, do nothing (just ignore this signal)
@@ -103,6 +105,79 @@ wee_log_printf (char *message, ...)
fflush (log_file);
}
/*
* wee_display_config_options: display config options
*/
void wee_display_config_options ()
{
int i, j, k;
printf (_("WeeChat configuration options (~/.weechat/weechat.rc):\n\n"));
for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++)
{
if (weechat_options[i])
{
j = 0;
while (weechat_options[i][j].option_name)
{
printf ("* %s:\n",
weechat_options[i][j].option_name);
switch (weechat_options[i][j].option_type)
{
case OPTION_TYPE_BOOLEAN:
printf (_(" . type boolean (values: 'on' or 'off')\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[i][j].default_int == BOOL_TRUE) ?
"on" : "off");
break;
case OPTION_TYPE_INT:
printf (_(" . type integer (values: between %d and %d)\n"),
weechat_options[i][j].min,
weechat_options[i][j].max);
printf (_(" . default value: %d\n"),
weechat_options[i][j].default_int);
break;
case OPTION_TYPE_INT_WITH_STRING:
printf (_(" . type string (values: "));
k = 0;
while (weechat_options[i][j].array_values[k])
{
printf ("'%s'",
weechat_options[i][j].array_values[k]);
if (weechat_options[i][j].array_values[k + 1])
printf (", ");
k++;
}
printf (")\n");
printf (_(" . default value: '%s'\n"),
(weechat_options[i][j].default_string) ?
weechat_options[i][j].default_string : _("empty"));
break;
case OPTION_TYPE_COLOR:
printf (_(" . type color (Curses or Gtk color, look at WeeChat doc)\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[i][j].default_string) ?
weechat_options[i][j].default_string : _("empty"));
break;
case OPTION_TYPE_STRING:
printf (_(" . type string (any string)\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[i][j].default_string) ?
weechat_options[i][j].default_string : _("empty"));
break;
}
printf (_(" . description: %s\n\n"),
gettext (weechat_options[i][j].long_description));
j++;
}
}
}
printf (_("Moreover, you can define aliases in [alias] section, by adding lines like:\n"));
printf ("j=join\n");
printf (_("where 'j' is alias name, and 'join' associated command.\n\n"));
}
/*
* wee_parse_args: parse command line args
*/
@@ -110,82 +185,24 @@ wee_log_printf (char *message, ...)
void
wee_parse_args (int argc, char *argv[])
{
int i, j, k, m;
int i;
t_irc_server server_tmp;
server_cmd_line = 0;
for (i = 1; i < argc; i++)
{
if ((strcmp (argv[i], "-c") == 0)
|| (strcmp (argv[i], "--config") == 0))
{
printf(_("WeeChat configuration options (~/.weechat/weechat.rc):\n\n"));
for (j = 0; j < CONFIG_NUMBER_SECTIONS; j++)
{
if (weechat_options[j])
{
k = 0;
while (weechat_options[j][k].option_name)
{
printf ("* %s:\n",
weechat_options[j][k].option_name);
switch (weechat_options[j][k].option_type)
{
case OPTION_TYPE_BOOLEAN:
printf (_(" . type boolean (values: 'on' or 'off')\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[j][k].default_int == BOOL_TRUE) ?
"on" : "off");
break;
case OPTION_TYPE_INT:
printf (_(" . type integer (values: between %d and %d)\n"),
weechat_options[j][k].min,
weechat_options[j][k].max);
printf (_(" . default value: %d\n"),
weechat_options[j][k].default_int);
break;
case OPTION_TYPE_INT_WITH_STRING:
printf (_(" . type string (values: "));
m = 0;
while (weechat_options[j][k].array_values[m])
{
printf ("'%s'",
weechat_options[j][k].array_values[m]);
if (weechat_options[j][k].array_values[m + 1])
printf (", ");
m++;
}
printf (")\n");
printf (_(" . default value: '%s'\n"),
(weechat_options[j][k].default_string) ?
weechat_options[j][k].default_string : _("empty"));
break;
case OPTION_TYPE_COLOR:
printf (_(" . type color (Curses or Gtk color, look at WeeChat doc)\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[j][k].default_string) ?
weechat_options[j][k].default_string : _("empty"));
break;
case OPTION_TYPE_STRING:
printf (_(" . type string (any string)\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[j][k].default_string) ?
weechat_options[j][k].default_string : _("empty"));
break;
}
printf (_(" . description: %s\n\n"),
gettext (weechat_options[j][k].long_description));
k++;
}
}
}
printf (_("Moreover, you can define aliases in [alias] section, by adding lines like:\n"));
printf ("j=join\n");
printf (_("where 'j' is alias name, and 'join' associated command.\n\n"));
wee_display_config_options ();
exit (0);
}
else if ((strcmp (argv[i], "-h") == 0)
|| (strcmp (argv[i], "--help") == 0))
{
printf ("\n%s%s", WEE_USAGE);
printf ("\n " WEE_USAGE1, argv[0]);
printf ("%s", WEE_USAGE2);
exit (0);
}
else if ((strcmp (argv[i], "-l") == 0)
@@ -200,6 +217,26 @@ wee_parse_args (int argc, char *argv[])
printf (PACKAGE_VERSION "\n");
exit (0);
}
else if ((strncasecmp (argv[i], "irc://", 6) == 0))
{
if (server_init_with_url (argv[i], &server_tmp) < 0)
{
fprintf (stderr, _("%s invalid syntax for IRC server ('%s'), ignored\n"),
WEECHAT_WARNING, argv[i]);
}
else
{
if (!server_new (server_tmp.name, 0, 1,
server_tmp.address, server_tmp.port,
server_tmp.password, server_tmp.nick1,
server_tmp.nick2, server_tmp.nick3,
NULL, NULL, NULL, NULL))
fprintf (stderr, _("%s unable to create server ('%s'), ignored\n"),
WEECHAT_WARNING, argv[i]);
server_destroy (&server_tmp);
server_cmd_line = 1;
}
}
else
{
fprintf (stderr,
@@ -425,7 +462,8 @@ main (int argc, char *argv[])
gui_init (); /* init WeeChat interface */
plugin_init (); /* init plugin interface(s) */
weechat_welcome_message (); /* display WeeChat welcome message */
server_auto_connect (); /* auto-connect to servers */
/* auto-connect to servers */
server_auto_connect (server_cmd_line);
gui_main_loop (); /* WeeChat main loop */
+5 -2
View File
@@ -76,11 +76,14 @@
"along with this program; if not, write to the Free Software\n" \
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n\n"
#define WEE_USAGE \
#define WEE_USAGE1 \
PACKAGE_STRING " (c) Copyright 2004, compiled on " __DATE__ " " __TIME__ \
"\nDeveloped by FlashCode, Bounga and Xahlexx - " WEECHAT_WEBSITE "\n\n" \
"Usage: %s [options ...] [irc://nick[:passwd]@irc.example.org[:port] ...]\n\n"
#define WEE_USAGE2 \
" -c, --config config file help (list of options)\n" \
" -h, --help this help screen\n", \
" -h, --help this help screen\n" \
" -l, --license display WeeChat license\n" \
" -v, --version display WeeChat version\n\n"
+21 -18
View File
@@ -658,7 +658,7 @@ config_allocate_server (char *filename, int line_number)
return 0;
}
if (!server_new (cfg_server.name,
cfg_server.autoconnect, cfg_server.address, cfg_server.port,
cfg_server.autoconnect, 0, cfg_server.address, cfg_server.port,
cfg_server.password, cfg_server.nick1, cfg_server.nick2,
cfg_server.nick3, cfg_server.username, cfg_server.realname,
cfg_server.command, cfg_server.autojoin))
@@ -1194,23 +1194,26 @@ config_write (char *config_name)
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
fprintf (file, "\n[server]\n");
fprintf (file, "server_name=%s\n", ptr_server->name);
fprintf (file, "server_autoconnect=%s\n",
(ptr_server->autoconnect) ? "on" : "off");
fprintf (file, "server_address=%s\n", ptr_server->address);
fprintf (file, "server_port=%d\n", ptr_server->port);
fprintf (file, "server_password=%s\n",
(ptr_server->password) ? ptr_server->password : "");
fprintf (file, "server_nick1=%s\n", ptr_server->nick1);
fprintf (file, "server_nick2=%s\n", ptr_server->nick2);
fprintf (file, "server_nick3=%s\n", ptr_server->nick3);
fprintf (file, "server_username=%s\n", ptr_server->username);
fprintf (file, "server_realname=%s\n", ptr_server->realname);
fprintf (file, "server_command=%s\n",
(ptr_server->command) ? ptr_server->command : "");
fprintf (file, "server_autojoin=%s\n",
(ptr_server->autojoin) ? ptr_server->autojoin : "");
if (!ptr_server->command_line)
{
fprintf (file, "\n[server]\n");
fprintf (file, "server_name=%s\n", ptr_server->name);
fprintf (file, "server_autoconnect=%s\n",
(ptr_server->autoconnect) ? "on" : "off");
fprintf (file, "server_address=%s\n", ptr_server->address);
fprintf (file, "server_port=%d\n", ptr_server->port);
fprintf (file, "server_password=%s\n",
(ptr_server->password) ? ptr_server->password : "");
fprintf (file, "server_nick1=%s\n", ptr_server->nick1);
fprintf (file, "server_nick2=%s\n", ptr_server->nick2);
fprintf (file, "server_nick3=%s\n", ptr_server->nick3);
fprintf (file, "server_username=%s\n", ptr_server->username);
fprintf (file, "server_realname=%s\n", ptr_server->realname);
fprintf (file, "server_command=%s\n",
(ptr_server->command) ? ptr_server->command : "");
fprintf (file, "server_autojoin=%s\n",
(ptr_server->autojoin) ? ptr_server->autojoin : "");
}
}
fclose (file);
+69 -4
View File
@@ -59,6 +59,7 @@ server_init (t_irc_server *server)
{
server->name = NULL;
server->autoconnect = 0;
server->command_line = 0;
server->address = NULL;
server->port = -1;
server->password = NULL;
@@ -80,6 +81,68 @@ server_init (t_irc_server *server)
server->last_channel = NULL;
}
/*
* server_init_with_url: init a server with url of this form:
* irc://nick:pass@irc.toto.org:6667
* returns: 0 = ok
* -1 = invalid syntax
*/
int
server_init_with_url (char *irc_url, t_irc_server *server)
{
char *url, *pos_address, *pos, *pos2;
server_init (server);
if (strncasecmp (irc_url, "irc://", 6) != 0)
return -1;
url = strdup (irc_url);
pos_address = strchr (url, '@');
if (!pos_address || !pos_address[1])
{
free (url);
return -1;
}
pos_address[0] = '\0';
pos_address++;
pos = url + 6;
if (!pos[0])
{
free (url);
return -1;
}
pos2 = strchr (pos, ':');
if (pos2)
{
pos2[0] = '\0';
server->password = strdup (pos2 + 1);
}
server->nick1 = strdup (pos);
pos2 = strchr (pos_address, ':');
if (pos2)
{
pos2[0] = '\0';
server->port = atoi (pos2 + 1);
}
server->name = strdup (pos_address);
server->address = strdup (pos_address);
free (url);
/* some default values */
if (server->port < 0)
server->port = DEFAULT_IRC_PORT;
server->nick2 = (char *) malloc (strlen (server->nick1) + 2);
strcpy (server->nick2, server->nick1);
server->nick2 = strcat (server->nick2, "1");
server->nick3 = (char *) malloc (strlen (server->nick1) + 2);
strcpy (server->nick3, server->nick1);
server->nick3 = strcat (server->nick3, "2");
return 0;
}
/*
* server_alloc: allocate a new server and add it to the servers queue
*/
@@ -193,8 +256,8 @@ server_free_all ()
*/
t_irc_server *
server_new (char *name, int autoconnect, char *address, int port,
char *password, char *nick1, char *nick2, char *nick3,
server_new (char *name, int autoconnect, int command_line, char *address,
int port, char *password, char *nick1, char *nick2, char *nick3,
char *username, char *realname, char *command, char *autojoin)
{
t_irc_server *new_server;
@@ -216,6 +279,7 @@ server_new (char *name, int autoconnect, char *address, int port,
{
new_server->name = strdup (name);
new_server->autoconnect = autoconnect;
new_server->command_line = command_line;
new_server->address = strdup (address);
new_server->port = port;
new_server->password = (password) ? strdup (password) : strdup ("");
@@ -574,14 +638,15 @@ server_connect (t_irc_server *server)
*/
void
server_auto_connect ()
server_auto_connect (int command_line)
{
t_irc_server *ptr_server;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->autoconnect)
if ( ((command_line) && (ptr_server->command_line))
|| ((!command_line) && (ptr_server->autoconnect)) )
{
gui_window_new (ptr_server, NULL, 1);
if (server_connect (ptr_server))
+6 -2
View File
@@ -34,6 +34,8 @@
#define CHANNEL_PREFIX "#&+!"
#define DEFAULT_IRC_PORT 6667
/* nick types */
typedef struct t_irc_nick t_irc_nick;
@@ -78,6 +80,7 @@ struct t_irc_server
/* user choices */
char *name; /* name of server (only for display) */
int autoconnect; /* = 1 if auto connect at startup */
int command_line; /* server was given on command line */
char *address; /* address of server (IP or name) */
int port; /* port for server (6667 by default) */
char *password; /* password for server */
@@ -140,17 +143,18 @@ extern t_irc_channel *current_channel;
/* server functions (irc-server.c) */
extern void server_init (t_irc_server *);
extern int server_init_with_url (char *, t_irc_server *);
extern t_irc_server *server_alloc ();
extern void server_destroy (t_irc_server *);
extern void server_free (t_irc_server *);
extern void server_free_all ();
extern t_irc_server *server_new (char *, int, char *, int, char *, char *,
extern t_irc_server *server_new (char *, int, int, char *, int, char *, char *,
char *, char *, char *, char *, char *, char *);
extern int server_send (t_irc_server *, char *, int);
extern int server_sendf (t_irc_server *, char *, ...);
extern void server_recv (t_irc_server *);
extern int server_connect ();
extern void server_auto_connect ();
extern void server_auto_connect (int);
extern void server_disconnect (t_irc_server *);
extern void server_disconnect_all ();
extern t_irc_server *server_search (char *);
+78 -64
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.0.5-pre2\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2004-01-18 19:34+0100\n"
"POT-Creation-Date: 2004-01-19 00:47+0100\n"
"PO-Revision-Date: 2004-01-01 11:52+0100\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -20,76 +20,76 @@ msgstr ""
msgid "%s cannot allocate new nick\n"
msgstr "%s ompossible d'allouer un nouveau pseudo\n"
#: src/irc/irc-server.c:95
#: src/irc/irc-server.c:158
#, c-format
msgid "%s cannot allocate new server\n"
msgstr "%s impossible d'allouer un nouveau serveur\n"
#: src/irc/irc-server.c:351
#: src/irc/irc-server.c:415
#, c-format
msgid "%s unable to explode received buffer\n"
msgstr "%s impossible d'exploser le tampon de réception\n"
#: src/irc/irc-server.c:424
#: src/irc/irc-server.c:488
#, c-format
msgid "Command '%s' failed!\n"
msgstr "La commande '%s' a échoué !\n"
#: src/irc/irc-server.c:428
#: src/irc/irc-server.c:492
msgid "No command to execute!\n"
msgstr "Pas de commande à exécuter !\n"
#: src/irc/irc-server.c:432
#: src/irc/irc-server.c:496
#, c-format
msgid "Unknown command: cmd=%s, args=%s\n"
msgstr "Commande inconnue: cmd=%s, params=%s\n"
#: src/irc/irc-server.c:482
#: src/irc/irc-server.c:546
#, c-format
msgid "%s: connecting to %s:%d...\n"
msgstr "%s: connexion à %s:%d...\n"
#: src/irc/irc-server.c:484
#: src/irc/irc-server.c:548
#, c-format
msgid "connecting to server %s:%d...\n"
msgstr "connexion au serveur %s:%d...\n"
#: src/irc/irc-server.c:492
#: src/irc/irc-server.c:556
#, c-format
msgid "%s cannot create pipe\n"
msgstr "%s impossible de créer le pipe\n"
#: src/irc/irc-server.c:506
#: src/irc/irc-server.c:570
#, c-format
msgid "%s cannot set socket option \"SO_REUSEADDR\"\n"
msgstr "%s impossible de paramétrer l'option socket \"SO_REUSEADDR\"\n"
#: src/irc/irc-server.c:513
#: src/irc/irc-server.c:577
#, c-format
msgid "%s cannot set socket option \"SO_KEEPALIVE\"\n"
msgstr "%s impossible de paramétrer l'option socket \"SO_KEEPALIVE\"\n"
#: src/irc/irc-server.c:521
#: src/irc/irc-server.c:585
#, c-format
msgid "%s address \"%s\" not found\n"
msgstr "%s adresse \"%s\" introuvable\n"
#: src/irc/irc-server.c:544
#: src/irc/irc-server.c:608
#, c-format
msgid "%s IP address not found\n"
msgstr "%s adresse IP introuvable\n"
#: src/irc/irc-server.c:554
#: src/irc/irc-server.c:618
#, c-format
msgid "%s: server IP is: %s\n"
msgstr "%s: l'adresse IP du serveur est : %s\n"
#: src/irc/irc-server.c:560
#: src/irc/irc-server.c:624
#, c-format
msgid "%s cannot connect to irc server\n"
msgstr "%s connexion au serveur irc impossible\n"
#: src/irc/irc-server.c:609
#: src/irc/irc-server.c:674
msgid "Disconnected from server!\n"
msgstr "Déconnecté du serveur !\n"
@@ -1906,8 +1906,8 @@ msgstr "non connect
#: src/common/command.c:1170
#, c-format
msgid " Autoconnect: %s\n"
msgstr " Autoconnect: %s\n"
msgid " Autoconnect: %s%s\n"
msgstr " Autoconnect: %s%s\n"
#: src/common/command.c:1171
msgid "yes"
@@ -1917,134 +1917,138 @@ msgstr "oui"
msgid "no"
msgstr "non"
#: src/common/command.c:1175
#: src/common/command.c:1173
msgid " (temporary server, will not be saved)"
msgstr " (serveur temporaire, ne sera pas sauvé)"
#: src/common/command.c:1178
#, c-format
msgid " Hostname : %s\n"
msgstr " Nom/IP : %s\n"
#: src/common/command.c:1180
#: src/common/command.c:1183
#, c-format
msgid " Port : %d\n"
msgstr " Port : %d\n"
#: src/common/command.c:1186
#: src/common/command.c:1189
msgid " Password : (hidden)\n"
msgstr " Mot passe : (caché)\n"
#: src/common/command.c:1190
#: src/common/command.c:1193
msgid " Password : (none)\n"
msgstr " Mot passe : (aucun)\n"
#: src/common/command.c:1194
#: src/common/command.c:1197
#, c-format
msgid " Nicks : %s"
msgstr " Pseudos : %s"
#: src/common/command.c:1211
#: src/common/command.c:1214
#, c-format
msgid " Username : %s\n"
msgstr " Nom utilis.: %s\n"
#: src/common/command.c:1216
#: src/common/command.c:1219
#, c-format
msgid " Realname : %s\n"
msgstr " Nom réel : %s\n"
#: src/common/command.c:1222
#: src/common/command.c:1225
#, c-format
msgid " Command : %s\n"
msgstr " Commande : %s\n"
#: src/common/command.c:1227
#: src/common/command.c:1230
msgid " Command : (none)\n"
msgstr " Commande : (aucune)\n"
#: src/common/command.c:1232
#: src/common/command.c:1235
#, c-format
msgid " Auto-join : %s\n"
msgstr " Auto-join : %s\n"
#: src/common/command.c:1237
#: src/common/command.c:1240
msgid " Auto-join : (none)\n"
msgstr " Auto-join : (aucun)\n"
#: src/common/command.c:1241
#: src/common/command.c:1244
msgid "No server.\n"
msgstr "Pas de serveur.\n"
#: src/common/command.c:1250
#: src/common/command.c:1253
#, c-format
msgid "%s missing servername for \"%s\" command\n"
msgstr "%s il manque le nom du serveur pour la commande \"%s\"\n"
#: src/common/command.c:1256
#: src/common/command.c:1259
#, c-format
msgid "%s too much arguments for \"%s\" command, ignoring arguments\n"
msgstr "%s trop de paramètres pour la commande \"%s\", paramètres ignorés\n"
#: src/common/command.c:1273
#: src/common/command.c:1276
#, c-format
msgid "%s server \"%s\" not found for \"%s\" command\n"
msgstr "%s le serveur \"%s\" n'existe pas pour la commande \"%s\"\n"
#: src/common/command.c:1279 src/common/command.c:1410
#: src/common/command.c:1282 src/common/command.c:1413
msgid "Server"
msgstr "Serveur"
#: src/common/command.c:1282
#: src/common/command.c:1285
msgid "has been deleted\n"
msgstr "a été supprimé\n"
#: src/common/command.c:1296
#: src/common/command.c:1299
#, c-format
msgid "%s missing parameters for \"%s\" command\n"
msgstr "%s paramètres manquants pour la commande \"%s\"\n"
#: src/common/command.c:1305
#: src/common/command.c:1308
#, c-format
msgid "%s server \"%s\" already exists, can't create it!\n"
msgstr "%s le serveur \"%s\" existe déjà, impossible de le créer !\n"
#: src/common/command.c:1329 src/common/command.c:1355
#: src/common/command.c:1367 src/common/command.c:1391
#: src/common/command.c:1332 src/common/command.c:1358
#: src/common/command.c:1370 src/common/command.c:1394
#, c-format
msgid "%s missing password for \"%s\" parameter\n"
msgstr "%s mot de passe manquant pour le paramètre \"%s\"\n"
#: src/common/command.c:1341
#: src/common/command.c:1344
#, c-format
msgid "%s missing nick(s) for \"%s\" parameter\n"
msgstr "%s pseudo(s) manquant(s) pour le paramètre \"%s\"\n"
#: src/common/command.c:1379
#: src/common/command.c:1382
#, c-format
msgid "%s missing command for \"%s\" parameter\n"
msgstr "%s commande manquante pour le paramètre \"%s\"\n"
#: src/common/command.c:1413
#: src/common/command.c:1416
msgid "created\n"
msgstr "créé\n"
#: src/common/command.c:1418
#: src/common/command.c:1421
#, c-format
msgid "%s unable to create server\n"
msgstr "%s impossible de créer le serveur\n"
#: src/common/command.c:1490
#: src/common/command.c:1493
msgid "(unknown)"
msgstr "(inconnu)"
#: src/common/command.c:1523
#: src/common/command.c:1526
#, c-format
msgid "%s alias or command \"%s\" not found\n"
msgstr "%s alias ou commande \"%s\" non trouvé\n"
#: src/common/command.c:1532
#: src/common/command.c:1535
#, c-format
msgid "Alias \"%s\" removed\n"
msgstr "Alias \"%s\" supprimé\n"
#: src/common/weechat.c:120
#: src/common/weechat.c:116
msgid ""
"WeeChat configuration options (~/.weechat/weechat.rc):\n"
"\n"
@@ -2052,43 +2056,43 @@ msgstr ""
"Options de configuration de WeeChat (~/.weechat/weechat.rc):\n"
"\n"
#: src/common/weechat.c:133
#: src/common/weechat.c:129
msgid " . type boolean (values: 'on' or 'off')\n"
msgstr " . type booléen (valeurs: 'on' ou 'off')\n"
#: src/common/weechat.c:134 src/common/weechat.c:157 src/common/weechat.c:163
#: src/common/weechat.c:169
#: src/common/weechat.c:130 src/common/weechat.c:153 src/common/weechat.c:159
#: src/common/weechat.c:165
#, c-format
msgid " . default value: '%s'\n"
msgstr " . valeur par défaut: '%s'\n"
#: src/common/weechat.c:139
#: src/common/weechat.c:135
#, c-format
msgid " . type integer (values: between %d and %d)\n"
msgstr " . type entier (valeurs: entre %d et %d)\n"
#: src/common/weechat.c:142
#: src/common/weechat.c:138
#, c-format
msgid " . default value: %d\n"
msgstr " . valeur par défaut: %d\n"
#: src/common/weechat.c:146
#: src/common/weechat.c:142
msgid " . type string (values: "
msgstr " . type chaîne (valeurs: "
#: src/common/weechat.c:159 src/common/weechat.c:165 src/common/weechat.c:171
#: src/common/weechat.c:155 src/common/weechat.c:161 src/common/weechat.c:167
msgid "empty"
msgstr "vide"
#: src/common/weechat.c:162
#: src/common/weechat.c:158
msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n"
msgstr " . type couleur (couleur Curses ou Gtk, voir la doc WeeChat)\n"
#: src/common/weechat.c:168
#: src/common/weechat.c:164
msgid " . type string (any string)\n"
msgstr " . type chaîne (toute chaîne)\n"
#: src/common/weechat.c:174
#: src/common/weechat.c:170
#, c-format
msgid ""
" . description: %s\n"
@@ -2097,14 +2101,14 @@ msgstr ""
" . description: %s\n"
"\n"
#: src/common/weechat.c:180
#: src/common/weechat.c:176
msgid ""
"Moreover, you can define aliases in [alias] section, by adding lines like:\n"
msgstr ""
"De plus, vous pouvez définir des alias dans la section [alias], en ajoutant "
"des lignes comme :\n"
#: src/common/weechat.c:182
#: src/common/weechat.c:178
msgid ""
"where 'j' is alias name, and 'join' associated command.\n"
"\n"
@@ -2112,27 +2116,37 @@ msgstr ""
"où 'j' est le nom de l'alias, et 'join' la commande associée.\n"
"\n"
#: src/common/weechat.c:206
#: src/common/weechat.c:224
#, 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:238
#, c-format
msgid "%s unable to create server ('%s'), ignored\n"
msgstr "%s impossible de créer le serveur ('%s'), ignoré\n"
#: src/common/weechat.c:247
#, c-format
msgid "%s unknown parameter '%s', ignored\n"
msgstr "%s paramètre inconnu '%s', ignoré\n"
#: src/common/weechat.c:226
#: src/common/weechat.c:267
#, c-format
msgid "%s cannot create directory \"%s\"\n"
msgstr "%s impossible de créer le répertoire \"%s\"\n"
#: src/common/weechat.c:328
#: src/common/weechat.c:369
#, c-format
msgid "%s unable to create/append to log file (~/.weechat/%s)"
msgstr "%s impossible de créer/ajouter dans le fichier de log (~/.weechat/%s)"
#: src/common/weechat.c:352
#: src/common/weechat.c:393
#, c-format
msgid "%sWelcome to "
msgstr "%sBienvenue dans "
#: src/common/weechat.c:365
#: src/common/weechat.c:406
msgid "compiled on"
msgstr "compilé le"
+77 -63
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2004-01-18 19:34+0100\n"
"POT-Creation-Date: 2004-01-19 00:47+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -20,76 +20,76 @@ msgstr ""
msgid "%s cannot allocate new nick\n"
msgstr ""
#: src/irc/irc-server.c:95
#: src/irc/irc-server.c:158
#, c-format
msgid "%s cannot allocate new server\n"
msgstr ""
#: src/irc/irc-server.c:351
#: src/irc/irc-server.c:415
#, c-format
msgid "%s unable to explode received buffer\n"
msgstr ""
#: src/irc/irc-server.c:424
#: src/irc/irc-server.c:488
#, c-format
msgid "Command '%s' failed!\n"
msgstr ""
#: src/irc/irc-server.c:428
#: src/irc/irc-server.c:492
msgid "No command to execute!\n"
msgstr ""
#: src/irc/irc-server.c:432
#: src/irc/irc-server.c:496
#, c-format
msgid "Unknown command: cmd=%s, args=%s\n"
msgstr ""
#: src/irc/irc-server.c:482
#: src/irc/irc-server.c:546
#, c-format
msgid "%s: connecting to %s:%d...\n"
msgstr ""
#: src/irc/irc-server.c:484
#: src/irc/irc-server.c:548
#, c-format
msgid "connecting to server %s:%d...\n"
msgstr ""
#: src/irc/irc-server.c:492
#: src/irc/irc-server.c:556
#, c-format
msgid "%s cannot create pipe\n"
msgstr ""
#: src/irc/irc-server.c:506
#: src/irc/irc-server.c:570
#, c-format
msgid "%s cannot set socket option \"SO_REUSEADDR\"\n"
msgstr ""
#: src/irc/irc-server.c:513
#: src/irc/irc-server.c:577
#, c-format
msgid "%s cannot set socket option \"SO_KEEPALIVE\"\n"
msgstr ""
#: src/irc/irc-server.c:521
#: src/irc/irc-server.c:585
#, c-format
msgid "%s address \"%s\" not found\n"
msgstr ""
#: src/irc/irc-server.c:544
#: src/irc/irc-server.c:608
#, c-format
msgid "%s IP address not found\n"
msgstr ""
#: src/irc/irc-server.c:554
#: src/irc/irc-server.c:618
#, c-format
msgid "%s: server IP is: %s\n"
msgstr ""
#: src/irc/irc-server.c:560
#: src/irc/irc-server.c:624
#, c-format
msgid "%s cannot connect to irc server\n"
msgstr ""
#: src/irc/irc-server.c:609
#: src/irc/irc-server.c:674
msgid "Disconnected from server!\n"
msgstr ""
@@ -1773,7 +1773,7 @@ msgstr ""
#: src/common/command.c:1170
#, c-format
msgid " Autoconnect: %s\n"
msgid " Autoconnect: %s%s\n"
msgstr ""
#: src/common/command.c:1171
@@ -1784,214 +1784,228 @@ msgstr ""
msgid "no"
msgstr ""
#: src/common/command.c:1175
#: src/common/command.c:1173
msgid " (temporary server, will not be saved)"
msgstr ""
#: src/common/command.c:1178
#, c-format
msgid " Hostname : %s\n"
msgstr ""
#: src/common/command.c:1180
#: src/common/command.c:1183
#, c-format
msgid " Port : %d\n"
msgstr ""
#: src/common/command.c:1186
#: src/common/command.c:1189
msgid " Password : (hidden)\n"
msgstr ""
#: src/common/command.c:1190
#: src/common/command.c:1193
msgid " Password : (none)\n"
msgstr ""
#: src/common/command.c:1194
#: src/common/command.c:1197
#, c-format
msgid " Nicks : %s"
msgstr ""
#: src/common/command.c:1211
#: src/common/command.c:1214
#, c-format
msgid " Username : %s\n"
msgstr ""
#: src/common/command.c:1216
#: src/common/command.c:1219
#, c-format
msgid " Realname : %s\n"
msgstr ""
#: src/common/command.c:1222
#: src/common/command.c:1225
#, c-format
msgid " Command : %s\n"
msgstr ""
#: src/common/command.c:1227
#: src/common/command.c:1230
msgid " Command : (none)\n"
msgstr ""
#: src/common/command.c:1232
#: src/common/command.c:1235
#, c-format
msgid " Auto-join : %s\n"
msgstr ""
#: src/common/command.c:1237
#: src/common/command.c:1240
msgid " Auto-join : (none)\n"
msgstr ""
#: src/common/command.c:1241
#: src/common/command.c:1244
msgid "No server.\n"
msgstr ""
#: src/common/command.c:1250
#: src/common/command.c:1253
#, c-format
msgid "%s missing servername for \"%s\" command\n"
msgstr ""
#: src/common/command.c:1256
#: src/common/command.c:1259
#, c-format
msgid "%s too much arguments for \"%s\" command, ignoring arguments\n"
msgstr ""
#: src/common/command.c:1273
#: src/common/command.c:1276
#, c-format
msgid "%s server \"%s\" not found for \"%s\" command\n"
msgstr ""
#: src/common/command.c:1279 src/common/command.c:1410
#: src/common/command.c:1282 src/common/command.c:1413
msgid "Server"
msgstr ""
#: src/common/command.c:1282
#: src/common/command.c:1285
msgid "has been deleted\n"
msgstr ""
#: src/common/command.c:1296
#: src/common/command.c:1299
#, c-format
msgid "%s missing parameters for \"%s\" command\n"
msgstr ""
#: src/common/command.c:1305
#: src/common/command.c:1308
#, c-format
msgid "%s server \"%s\" already exists, can't create it!\n"
msgstr ""
#: src/common/command.c:1329 src/common/command.c:1355
#: src/common/command.c:1367 src/common/command.c:1391
#: src/common/command.c:1332 src/common/command.c:1358
#: src/common/command.c:1370 src/common/command.c:1394
#, c-format
msgid "%s missing password for \"%s\" parameter\n"
msgstr ""
#: src/common/command.c:1341
#: src/common/command.c:1344
#, c-format
msgid "%s missing nick(s) for \"%s\" parameter\n"
msgstr ""
#: src/common/command.c:1379
#: src/common/command.c:1382
#, c-format
msgid "%s missing command for \"%s\" parameter\n"
msgstr ""
#: src/common/command.c:1413
#: src/common/command.c:1416
msgid "created\n"
msgstr ""
#: src/common/command.c:1418
#: src/common/command.c:1421
#, c-format
msgid "%s unable to create server\n"
msgstr ""
#: src/common/command.c:1490
#: src/common/command.c:1493
msgid "(unknown)"
msgstr ""
#: src/common/command.c:1523
#: src/common/command.c:1526
#, c-format
msgid "%s alias or command \"%s\" not found\n"
msgstr ""
#: src/common/command.c:1532
#: src/common/command.c:1535
#, c-format
msgid "Alias \"%s\" removed\n"
msgstr ""
#: src/common/weechat.c:120
#: src/common/weechat.c:116
msgid ""
"WeeChat configuration options (~/.weechat/weechat.rc):\n"
"\n"
msgstr ""
#: src/common/weechat.c:133
#: src/common/weechat.c:129
msgid " . type boolean (values: 'on' or 'off')\n"
msgstr ""
#: src/common/weechat.c:134 src/common/weechat.c:157 src/common/weechat.c:163
#: src/common/weechat.c:169
#: src/common/weechat.c:130 src/common/weechat.c:153 src/common/weechat.c:159
#: src/common/weechat.c:165
#, c-format
msgid " . default value: '%s'\n"
msgstr ""
#: src/common/weechat.c:139
#: src/common/weechat.c:135
#, c-format
msgid " . type integer (values: between %d and %d)\n"
msgstr ""
#: src/common/weechat.c:142
#: src/common/weechat.c:138
#, c-format
msgid " . default value: %d\n"
msgstr ""
#: src/common/weechat.c:146
#: src/common/weechat.c:142
msgid " . type string (values: "
msgstr ""
#: src/common/weechat.c:159 src/common/weechat.c:165 src/common/weechat.c:171
#: src/common/weechat.c:155 src/common/weechat.c:161 src/common/weechat.c:167
msgid "empty"
msgstr ""
#: src/common/weechat.c:162
#: src/common/weechat.c:158
msgid " . type color (Curses or Gtk color, look at WeeChat doc)\n"
msgstr ""
#: src/common/weechat.c:168
#: src/common/weechat.c:164
msgid " . type string (any string)\n"
msgstr ""
#: src/common/weechat.c:174
#: src/common/weechat.c:170
#, c-format
msgid ""
" . description: %s\n"
"\n"
msgstr ""
#: src/common/weechat.c:180
#: src/common/weechat.c:176
msgid ""
"Moreover, you can define aliases in [alias] section, by adding lines like:\n"
msgstr ""
#: src/common/weechat.c:182
#: src/common/weechat.c:178
msgid ""
"where 'j' is alias name, and 'join' associated command.\n"
"\n"
msgstr ""
#: src/common/weechat.c:206
#: src/common/weechat.c:224
#, c-format
msgid "%s invalid syntax for IRC server ('%s'), ignored\n"
msgstr ""
#: src/common/weechat.c:238
#, c-format
msgid "%s unable to create server ('%s'), ignored\n"
msgstr ""
#: src/common/weechat.c:247
#, c-format
msgid "%s unknown parameter '%s', ignored\n"
msgstr ""
#: src/common/weechat.c:226
#: src/common/weechat.c:267
#, c-format
msgid "%s cannot create directory \"%s\"\n"
msgstr ""
#: src/common/weechat.c:328
#: src/common/weechat.c:369
#, c-format
msgid "%s unable to create/append to log file (~/.weechat/%s)"
msgstr ""
#: src/common/weechat.c:352
#: src/common/weechat.c:393
#, c-format
msgid "%sWelcome to "
msgstr ""
#: src/common/weechat.c:365
#: src/common/weechat.c:406
msgid "compiled on"
msgstr ""
+10 -7
View File
@@ -1167,8 +1167,11 @@ weechat_cmd_server (int argc, char **argv)
irc_display_prefix (NULL, PREFIX_INFO);
gui_printf_color (NULL,
COLOR_WIN_CHAT,
_(" Autoconnect: %s\n"),
(ptr_server->autoconnect) ? _("yes") : _("no"));
_(" Autoconnect: %s%s\n"),
(ptr_server->autoconnect) ? _("yes") : _("no"),
(ptr_server->command_line) ?
_(" (temporary server, will not be saved)") :
"");
irc_display_prefix (NULL, PREFIX_INFO);
gui_printf_color (NULL,
COLOR_WIN_CHAT,
@@ -1399,11 +1402,11 @@ weechat_cmd_server (int argc, char **argv)
}
/* create new server */
new_server = server_new (server.name, server.autoconnect, server.address,
server.port, server.password, server.nick1,
server.nick2, server.nick3, server.username,
server.realname, server.command,
server.autojoin);
new_server = server_new (server.name, server.autoconnect, 0,
server.address, server.port, server.password,
server.nick1, server.nick2, server.nick3,
server.username, server.realname,
server.command, server.autojoin);
if (new_server)
{
irc_display_prefix (NULL, PREFIX_INFO);
+104 -66
View File
@@ -63,6 +63,8 @@ int quit_weechat; /* = 1 if quit request from user... why ? :'( */
char *weechat_home; /* WeeChat home dir. (example: /home/toto/.weechat) */
FILE *log_file; /* WeeChat log file (~/.weechat/weechat.log) */
int server_cmd_line; /* at least one server on WeeChat command line */
/*
* my_sigint: SIGINT handler, do nothing (just ignore this signal)
@@ -103,6 +105,79 @@ wee_log_printf (char *message, ...)
fflush (log_file);
}
/*
* wee_display_config_options: display config options
*/
void wee_display_config_options ()
{
int i, j, k;
printf (_("WeeChat configuration options (~/.weechat/weechat.rc):\n\n"));
for (i = 0; i < CONFIG_NUMBER_SECTIONS; i++)
{
if (weechat_options[i])
{
j = 0;
while (weechat_options[i][j].option_name)
{
printf ("* %s:\n",
weechat_options[i][j].option_name);
switch (weechat_options[i][j].option_type)
{
case OPTION_TYPE_BOOLEAN:
printf (_(" . type boolean (values: 'on' or 'off')\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[i][j].default_int == BOOL_TRUE) ?
"on" : "off");
break;
case OPTION_TYPE_INT:
printf (_(" . type integer (values: between %d and %d)\n"),
weechat_options[i][j].min,
weechat_options[i][j].max);
printf (_(" . default value: %d\n"),
weechat_options[i][j].default_int);
break;
case OPTION_TYPE_INT_WITH_STRING:
printf (_(" . type string (values: "));
k = 0;
while (weechat_options[i][j].array_values[k])
{
printf ("'%s'",
weechat_options[i][j].array_values[k]);
if (weechat_options[i][j].array_values[k + 1])
printf (", ");
k++;
}
printf (")\n");
printf (_(" . default value: '%s'\n"),
(weechat_options[i][j].default_string) ?
weechat_options[i][j].default_string : _("empty"));
break;
case OPTION_TYPE_COLOR:
printf (_(" . type color (Curses or Gtk color, look at WeeChat doc)\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[i][j].default_string) ?
weechat_options[i][j].default_string : _("empty"));
break;
case OPTION_TYPE_STRING:
printf (_(" . type string (any string)\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[i][j].default_string) ?
weechat_options[i][j].default_string : _("empty"));
break;
}
printf (_(" . description: %s\n\n"),
gettext (weechat_options[i][j].long_description));
j++;
}
}
}
printf (_("Moreover, you can define aliases in [alias] section, by adding lines like:\n"));
printf ("j=join\n");
printf (_("where 'j' is alias name, and 'join' associated command.\n\n"));
}
/*
* wee_parse_args: parse command line args
*/
@@ -110,82 +185,24 @@ wee_log_printf (char *message, ...)
void
wee_parse_args (int argc, char *argv[])
{
int i, j, k, m;
int i;
t_irc_server server_tmp;
server_cmd_line = 0;
for (i = 1; i < argc; i++)
{
if ((strcmp (argv[i], "-c") == 0)
|| (strcmp (argv[i], "--config") == 0))
{
printf(_("WeeChat configuration options (~/.weechat/weechat.rc):\n\n"));
for (j = 0; j < CONFIG_NUMBER_SECTIONS; j++)
{
if (weechat_options[j])
{
k = 0;
while (weechat_options[j][k].option_name)
{
printf ("* %s:\n",
weechat_options[j][k].option_name);
switch (weechat_options[j][k].option_type)
{
case OPTION_TYPE_BOOLEAN:
printf (_(" . type boolean (values: 'on' or 'off')\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[j][k].default_int == BOOL_TRUE) ?
"on" : "off");
break;
case OPTION_TYPE_INT:
printf (_(" . type integer (values: between %d and %d)\n"),
weechat_options[j][k].min,
weechat_options[j][k].max);
printf (_(" . default value: %d\n"),
weechat_options[j][k].default_int);
break;
case OPTION_TYPE_INT_WITH_STRING:
printf (_(" . type string (values: "));
m = 0;
while (weechat_options[j][k].array_values[m])
{
printf ("'%s'",
weechat_options[j][k].array_values[m]);
if (weechat_options[j][k].array_values[m + 1])
printf (", ");
m++;
}
printf (")\n");
printf (_(" . default value: '%s'\n"),
(weechat_options[j][k].default_string) ?
weechat_options[j][k].default_string : _("empty"));
break;
case OPTION_TYPE_COLOR:
printf (_(" . type color (Curses or Gtk color, look at WeeChat doc)\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[j][k].default_string) ?
weechat_options[j][k].default_string : _("empty"));
break;
case OPTION_TYPE_STRING:
printf (_(" . type string (any string)\n"));
printf (_(" . default value: '%s'\n"),
(weechat_options[j][k].default_string) ?
weechat_options[j][k].default_string : _("empty"));
break;
}
printf (_(" . description: %s\n\n"),
gettext (weechat_options[j][k].long_description));
k++;
}
}
}
printf (_("Moreover, you can define aliases in [alias] section, by adding lines like:\n"));
printf ("j=join\n");
printf (_("where 'j' is alias name, and 'join' associated command.\n\n"));
wee_display_config_options ();
exit (0);
}
else if ((strcmp (argv[i], "-h") == 0)
|| (strcmp (argv[i], "--help") == 0))
{
printf ("\n%s%s", WEE_USAGE);
printf ("\n " WEE_USAGE1, argv[0]);
printf ("%s", WEE_USAGE2);
exit (0);
}
else if ((strcmp (argv[i], "-l") == 0)
@@ -200,6 +217,26 @@ wee_parse_args (int argc, char *argv[])
printf (PACKAGE_VERSION "\n");
exit (0);
}
else if ((strncasecmp (argv[i], "irc://", 6) == 0))
{
if (server_init_with_url (argv[i], &server_tmp) < 0)
{
fprintf (stderr, _("%s invalid syntax for IRC server ('%s'), ignored\n"),
WEECHAT_WARNING, argv[i]);
}
else
{
if (!server_new (server_tmp.name, 0, 1,
server_tmp.address, server_tmp.port,
server_tmp.password, server_tmp.nick1,
server_tmp.nick2, server_tmp.nick3,
NULL, NULL, NULL, NULL))
fprintf (stderr, _("%s unable to create server ('%s'), ignored\n"),
WEECHAT_WARNING, argv[i]);
server_destroy (&server_tmp);
server_cmd_line = 1;
}
}
else
{
fprintf (stderr,
@@ -425,7 +462,8 @@ main (int argc, char *argv[])
gui_init (); /* init WeeChat interface */
plugin_init (); /* init plugin interface(s) */
weechat_welcome_message (); /* display WeeChat welcome message */
server_auto_connect (); /* auto-connect to servers */
/* auto-connect to servers */
server_auto_connect (server_cmd_line);
gui_main_loop (); /* WeeChat main loop */
+5 -2
View File
@@ -76,11 +76,14 @@
"along with this program; if not, write to the Free Software\n" \
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n\n"
#define WEE_USAGE \
#define WEE_USAGE1 \
PACKAGE_STRING " (c) Copyright 2004, compiled on " __DATE__ " " __TIME__ \
"\nDeveloped by FlashCode, Bounga and Xahlexx - " WEECHAT_WEBSITE "\n\n" \
"Usage: %s [options ...] [irc://nick[:passwd]@irc.example.org[:port] ...]\n\n"
#define WEE_USAGE2 \
" -c, --config config file help (list of options)\n" \
" -h, --help this help screen\n", \
" -h, --help this help screen\n" \
" -l, --license display WeeChat license\n" \
" -v, --version display WeeChat version\n\n"
+21 -18
View File
@@ -658,7 +658,7 @@ config_allocate_server (char *filename, int line_number)
return 0;
}
if (!server_new (cfg_server.name,
cfg_server.autoconnect, cfg_server.address, cfg_server.port,
cfg_server.autoconnect, 0, cfg_server.address, cfg_server.port,
cfg_server.password, cfg_server.nick1, cfg_server.nick2,
cfg_server.nick3, cfg_server.username, cfg_server.realname,
cfg_server.command, cfg_server.autojoin))
@@ -1194,23 +1194,26 @@ config_write (char *config_name)
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
fprintf (file, "\n[server]\n");
fprintf (file, "server_name=%s\n", ptr_server->name);
fprintf (file, "server_autoconnect=%s\n",
(ptr_server->autoconnect) ? "on" : "off");
fprintf (file, "server_address=%s\n", ptr_server->address);
fprintf (file, "server_port=%d\n", ptr_server->port);
fprintf (file, "server_password=%s\n",
(ptr_server->password) ? ptr_server->password : "");
fprintf (file, "server_nick1=%s\n", ptr_server->nick1);
fprintf (file, "server_nick2=%s\n", ptr_server->nick2);
fprintf (file, "server_nick3=%s\n", ptr_server->nick3);
fprintf (file, "server_username=%s\n", ptr_server->username);
fprintf (file, "server_realname=%s\n", ptr_server->realname);
fprintf (file, "server_command=%s\n",
(ptr_server->command) ? ptr_server->command : "");
fprintf (file, "server_autojoin=%s\n",
(ptr_server->autojoin) ? ptr_server->autojoin : "");
if (!ptr_server->command_line)
{
fprintf (file, "\n[server]\n");
fprintf (file, "server_name=%s\n", ptr_server->name);
fprintf (file, "server_autoconnect=%s\n",
(ptr_server->autoconnect) ? "on" : "off");
fprintf (file, "server_address=%s\n", ptr_server->address);
fprintf (file, "server_port=%d\n", ptr_server->port);
fprintf (file, "server_password=%s\n",
(ptr_server->password) ? ptr_server->password : "");
fprintf (file, "server_nick1=%s\n", ptr_server->nick1);
fprintf (file, "server_nick2=%s\n", ptr_server->nick2);
fprintf (file, "server_nick3=%s\n", ptr_server->nick3);
fprintf (file, "server_username=%s\n", ptr_server->username);
fprintf (file, "server_realname=%s\n", ptr_server->realname);
fprintf (file, "server_command=%s\n",
(ptr_server->command) ? ptr_server->command : "");
fprintf (file, "server_autojoin=%s\n",
(ptr_server->autojoin) ? ptr_server->autojoin : "");
}
}
fclose (file);
+69 -4
View File
@@ -59,6 +59,7 @@ server_init (t_irc_server *server)
{
server->name = NULL;
server->autoconnect = 0;
server->command_line = 0;
server->address = NULL;
server->port = -1;
server->password = NULL;
@@ -80,6 +81,68 @@ server_init (t_irc_server *server)
server->last_channel = NULL;
}
/*
* server_init_with_url: init a server with url of this form:
* irc://nick:pass@irc.toto.org:6667
* returns: 0 = ok
* -1 = invalid syntax
*/
int
server_init_with_url (char *irc_url, t_irc_server *server)
{
char *url, *pos_address, *pos, *pos2;
server_init (server);
if (strncasecmp (irc_url, "irc://", 6) != 0)
return -1;
url = strdup (irc_url);
pos_address = strchr (url, '@');
if (!pos_address || !pos_address[1])
{
free (url);
return -1;
}
pos_address[0] = '\0';
pos_address++;
pos = url + 6;
if (!pos[0])
{
free (url);
return -1;
}
pos2 = strchr (pos, ':');
if (pos2)
{
pos2[0] = '\0';
server->password = strdup (pos2 + 1);
}
server->nick1 = strdup (pos);
pos2 = strchr (pos_address, ':');
if (pos2)
{
pos2[0] = '\0';
server->port = atoi (pos2 + 1);
}
server->name = strdup (pos_address);
server->address = strdup (pos_address);
free (url);
/* some default values */
if (server->port < 0)
server->port = DEFAULT_IRC_PORT;
server->nick2 = (char *) malloc (strlen (server->nick1) + 2);
strcpy (server->nick2, server->nick1);
server->nick2 = strcat (server->nick2, "1");
server->nick3 = (char *) malloc (strlen (server->nick1) + 2);
strcpy (server->nick3, server->nick1);
server->nick3 = strcat (server->nick3, "2");
return 0;
}
/*
* server_alloc: allocate a new server and add it to the servers queue
*/
@@ -193,8 +256,8 @@ server_free_all ()
*/
t_irc_server *
server_new (char *name, int autoconnect, char *address, int port,
char *password, char *nick1, char *nick2, char *nick3,
server_new (char *name, int autoconnect, int command_line, char *address,
int port, char *password, char *nick1, char *nick2, char *nick3,
char *username, char *realname, char *command, char *autojoin)
{
t_irc_server *new_server;
@@ -216,6 +279,7 @@ server_new (char *name, int autoconnect, char *address, int port,
{
new_server->name = strdup (name);
new_server->autoconnect = autoconnect;
new_server->command_line = command_line;
new_server->address = strdup (address);
new_server->port = port;
new_server->password = (password) ? strdup (password) : strdup ("");
@@ -574,14 +638,15 @@ server_connect (t_irc_server *server)
*/
void
server_auto_connect ()
server_auto_connect (int command_line)
{
t_irc_server *ptr_server;
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (ptr_server->autoconnect)
if ( ((command_line) && (ptr_server->command_line))
|| ((!command_line) && (ptr_server->autoconnect)) )
{
gui_window_new (ptr_server, NULL, 1);
if (server_connect (ptr_server))
+6 -2
View File
@@ -34,6 +34,8 @@
#define CHANNEL_PREFIX "#&+!"
#define DEFAULT_IRC_PORT 6667
/* nick types */
typedef struct t_irc_nick t_irc_nick;
@@ -78,6 +80,7 @@ struct t_irc_server
/* user choices */
char *name; /* name of server (only for display) */
int autoconnect; /* = 1 if auto connect at startup */
int command_line; /* server was given on command line */
char *address; /* address of server (IP or name) */
int port; /* port for server (6667 by default) */
char *password; /* password for server */
@@ -140,17 +143,18 @@ extern t_irc_channel *current_channel;
/* server functions (irc-server.c) */
extern void server_init (t_irc_server *);
extern int server_init_with_url (char *, t_irc_server *);
extern t_irc_server *server_alloc ();
extern void server_destroy (t_irc_server *);
extern void server_free (t_irc_server *);
extern void server_free_all ();
extern t_irc_server *server_new (char *, int, char *, int, char *, char *,
extern t_irc_server *server_new (char *, int, int, char *, int, char *, char *,
char *, char *, char *, char *, char *, char *);
extern int server_send (t_irc_server *, char *, int);
extern int server_sendf (t_irc_server *, char *, ...);
extern void server_recv (t_irc_server *);
extern int server_connect ();
extern void server_auto_connect ();
extern void server_auto_connect (int);
extern void server_disconnect (t_irc_server *);
extern void server_disconnect_all ();
extern t_irc_server *server_search (char *);