mirror of
https://github.com/weechat/weechat.git
synced 2026-06-27 13:26:38 +02:00
Add isupport value in IRC servers (content of IRC message 005), with new infos: irc_server_isupport and irc_server_isupport_value
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
WeeChat ChangeLog
|
||||
=================
|
||||
FlashCode <flashcode@flashtux.org>
|
||||
v0.3.3-dev, 2010-05-21
|
||||
v0.3.3-dev, 2010-05-22
|
||||
|
||||
|
||||
Version 0.3.3 (under dev!)
|
||||
@@ -13,6 +13,8 @@ Version 0.3.3 (under dev!)
|
||||
process)
|
||||
* api: add function "string_expand_home", fix bug with replacement of home in
|
||||
paths
|
||||
* irc: add isupport value in servers (content of IRC message 005), with new
|
||||
infos: irc_server_isupport and irc_server_isupport_value
|
||||
* irc: add message in private buffer when nick is back on server after a /quit
|
||||
* irc: add new options irc.network.autoreconnect_delay_growing and
|
||||
irc.network.autoreconnect_delay_max (task #10338)
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
| irc | irc_nick_from_host | get nick from IRC host | IRC host (like `:nick!name@server.com`)
|
||||
|
||||
| irc | irc_server_isupport | 1 if server supports this feature (from IRC message 005) | server,feature
|
||||
|
||||
| irc | irc_server_isupport_value | value of feature, if supported by server (from IRC message 005) | server,feature
|
||||
|
||||
| weechat | charset_internal | WeeChat internal charset | -
|
||||
|
||||
| weechat | charset_terminal | terminal charset | -
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
| irc | irc_nick_from_host | retourne le pseudo à partir d'un host IRC | host IRC (comme `:pseudo!nom@serveur.com`)
|
||||
|
||||
| irc | irc_server_isupport | 1 si le serveur supporte cette fonctionnalité (du message IRC 005) | serveur,fonctionnalité
|
||||
|
||||
| irc | irc_server_isupport_value | valeur de la fonctionnalité, si supportée par le serveur (du message IRC 005) | serveur,fonctionnalité
|
||||
|
||||
| weechat | charset_internal | charset interne à WeeChat | -
|
||||
|
||||
| weechat | charset_terminal | charset du terminal | -
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
| irc | irc_nick_from_host | ottiene nick dall'host IRC | host IRC (come `:nick!nome@server.com`)
|
||||
|
||||
| irc | irc_server_isupport | 1 if server supports this feature (from IRC message 005) | server,feature
|
||||
|
||||
| irc | irc_server_isupport_value | value of feature, if supported by server (from IRC message 005) | server,feature
|
||||
|
||||
| weechat | charset_internal | set caratteri interno di WeeChat | -
|
||||
|
||||
| weechat | charset_terminal | set caratteri terminale | -
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.3-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\n"
|
||||
"PO-Revision-Date: 2010-05-20 12:20+0200\n"
|
||||
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -4686,6 +4686,16 @@ msgstr "získat ukazatel bufferu pro IRC server/kanál/přezdívku"
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr "server,kanál,přezdívka (kanál a přezdívka jsou volitelné)"
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "server,feature"
|
||||
msgstr "jméno serveru"
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "list of IRC servers"
|
||||
msgstr "seznam IRC serverů"
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.3-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\n"
|
||||
"PO-Revision-Date: 2010-05-20 12:20+0200\n"
|
||||
"Last-Translator: Nils G <weechatter@arcor.de>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -4863,6 +4863,16 @@ msgstr "hole Buffer Pointer für einen IRC Server/Channel/Nick"
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr "server,channel,nick (Channel und Nicks sind optional)"
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "server,feature"
|
||||
msgstr "Servername"
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "list of IRC servers"
|
||||
msgstr "Liste der IRC-Server"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.3-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\n"
|
||||
"PO-Revision-Date: 2010-05-20 12:31+0200\n"
|
||||
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -4755,6 +4755,16 @@ msgstr "devuelve el puntero del buffer de un servidor/canal/apodo IRC"
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr "servidor,canal,apodo (canal y apodo es opcional)"
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "server,feature"
|
||||
msgstr "nombre del servidor"
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "list of IRC servers"
|
||||
msgstr "lista de servidores IRC"
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.3-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"PO-Revision-Date: 2010-05-21 18:08+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\n"
|
||||
"PO-Revision-Date: 2010-05-22 09:53+0200\n"
|
||||
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: French\n"
|
||||
@@ -4801,6 +4801,16 @@ msgstr "retourne le pointeur vers le tampon pour un serveur/canal/pseudo IRC"
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr "serveur,canal,pseudo (canal et pseudo sont optionnels)"
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr "1 si le serveur supporte cette fonctionnalité (du message IRC 005)"
|
||||
|
||||
msgid "server,feature"
|
||||
msgstr "serveur,fonctionnalité"
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
"valeur de la fonctionnalité, si supportée par le serveur (du message IRC 005)"
|
||||
|
||||
msgid "list of IRC servers"
|
||||
msgstr "liste des serveurs IRC"
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.3-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\n"
|
||||
"PO-Revision-Date: 2010-05-20 12:20+0200\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -4508,6 +4508,16 @@ msgstr "szobák listája ahová be akarunk lépni csatlakozás után"
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "server,feature"
|
||||
msgstr "cél: szerver neve"
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "list of IRC servers"
|
||||
msgstr "IRC szerver portja"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Weechat 0.3.3-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\n"
|
||||
"PO-Revision-Date: 2010-05-20 12:26+0200\n"
|
||||
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -4762,6 +4762,16 @@ msgstr "ottiene puntatore al buffer per un server/canale/nick IRC"
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr "server,canale,nick (canale e nick sono opzionali)"
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "server,feature"
|
||||
msgstr "nome server"
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "list of IRC servers"
|
||||
msgstr "elenco di server IRC"
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.3-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\n"
|
||||
"PO-Revision-Date: 2010-05-20 12:22+0200\n"
|
||||
"Last-Translator: Krzysztof Koroscik <soltys@szluug.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -4735,6 +4735,16 @@ msgstr "pobiera wskaźnik dla serwera/kanału/nicku IRC"
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr "serwer,kanał,nick (kanał oraz nick są opcjonalne)"
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "server,feature"
|
||||
msgstr "nazwa srwera"
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "list of IRC servers"
|
||||
msgstr "lista serwerów IRC"
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat 0.3.3-dev\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\n"
|
||||
"PO-Revision-Date: 2010-05-20 12:22+0200\n"
|
||||
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@@ -4509,6 +4509,16 @@ msgstr "Список каналов, на которые заходить при
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "server,feature"
|
||||
msgstr "цель: название сервера"
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "list of IRC servers"
|
||||
msgstr "порт IRC сервера"
|
||||
|
||||
+10
-1
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2010-05-21 18:07+0200\n"
|
||||
"POT-Creation-Date: 2010-05-22 09:52+0200\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"
|
||||
@@ -3859,6 +3859,15 @@ msgstr ""
|
||||
msgid "server,channel,nick (channel and nicks are optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "1 if server supports this feature (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "server,feature"
|
||||
msgstr ""
|
||||
|
||||
msgid "value of feature, if supported by server (from IRC message 005)"
|
||||
msgstr ""
|
||||
|
||||
msgid "list of IRC servers"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ irc_info_get_info_cb (void *data, const char *info_name,
|
||||
const char *arguments)
|
||||
{
|
||||
char *pos_comma, *pos_comma2, *server, *channel, *host;
|
||||
const char *nick;
|
||||
const char *nick, *isupport_value;
|
||||
static char str_true[2] = "1";
|
||||
struct t_irc_server *ptr_server;
|
||||
struct t_irc_channel *ptr_channel;
|
||||
@@ -180,6 +180,46 @@ irc_info_get_info_cb (void *data, const char *info_name,
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (weechat_strcasecmp (info_name, "irc_server_isupport") == 0)
|
||||
{
|
||||
isupport_value = NULL;
|
||||
pos_comma = strchr (arguments, ',');
|
||||
if (pos_comma)
|
||||
{
|
||||
server = weechat_strndup (arguments, pos_comma - arguments);
|
||||
if (server)
|
||||
{
|
||||
ptr_server = irc_server_search (server);
|
||||
if (ptr_server)
|
||||
{
|
||||
isupport_value = irc_server_get_isupport_value (ptr_server,
|
||||
pos_comma + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isupport_value)
|
||||
return str_true;
|
||||
return NULL;
|
||||
}
|
||||
else if (weechat_strcasecmp (info_name, "irc_server_isupport_value") == 0)
|
||||
{
|
||||
isupport_value = NULL;
|
||||
pos_comma = strchr (arguments, ',');
|
||||
if (pos_comma)
|
||||
{
|
||||
server = weechat_strndup (arguments, pos_comma - arguments);
|
||||
if (server)
|
||||
{
|
||||
ptr_server = irc_server_search (server);
|
||||
if (ptr_server)
|
||||
{
|
||||
isupport_value = irc_server_get_isupport_value (ptr_server,
|
||||
pos_comma + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return isupport_value;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@@ -422,6 +462,12 @@ irc_info_init ()
|
||||
weechat_hook_info ("irc_buffer", N_("get buffer pointer for an IRC server/channel/nick"),
|
||||
N_("server,channel,nick (channel and nicks are optional)"),
|
||||
&irc_info_get_info_cb, NULL);
|
||||
weechat_hook_info ("irc_server_isupport", N_("1 if server supports this feature (from IRC message 005)"),
|
||||
N_("server,feature"),
|
||||
&irc_info_get_info_cb, NULL);
|
||||
weechat_hook_info ("irc_server_isupport_value", N_("value of feature, if supported by server (from IRC message 005)"),
|
||||
N_("server,feature"),
|
||||
&irc_info_get_info_cb, NULL);
|
||||
|
||||
/* infolist hooks */
|
||||
weechat_hook_infolist ("irc_server", N_("list of IRC servers"),
|
||||
|
||||
@@ -1868,7 +1868,8 @@ IRC_PROTOCOL_CALLBACK(001)
|
||||
|
||||
IRC_PROTOCOL_CALLBACK(005)
|
||||
{
|
||||
char *pos, *pos2;
|
||||
char *pos, *pos2, *pos_start;
|
||||
int length_isupport, length;
|
||||
|
||||
/*
|
||||
* 005 message looks like:
|
||||
@@ -1883,7 +1884,8 @@ IRC_PROTOCOL_CALLBACK(005)
|
||||
irc_protocol_cb_numeric (server,
|
||||
nick, address, host, command,
|
||||
ignored, argc, argv, argv_eol);
|
||||
|
||||
|
||||
/* save prefix */
|
||||
pos = strstr (argv_eol[3], "PREFIX=");
|
||||
if (pos)
|
||||
{
|
||||
@@ -1898,6 +1900,33 @@ IRC_PROTOCOL_CALLBACK(005)
|
||||
pos2[0] = ' ';
|
||||
}
|
||||
|
||||
/* save whole message (concatenate to existing isupport, if any) */
|
||||
pos_start = NULL;
|
||||
pos = strstr (argv_eol[3], " :");
|
||||
length = (pos) ? pos - argv_eol[3] : (int)strlen (argv_eol[3]);
|
||||
if (server->isupport)
|
||||
{
|
||||
length_isupport = strlen (server->isupport);
|
||||
server->isupport = realloc (server->isupport,
|
||||
length_isupport + /* existing */
|
||||
1 + length + 1); /* new */
|
||||
if (server->isupport)
|
||||
pos_start = server->isupport + length_isupport;
|
||||
}
|
||||
else
|
||||
{
|
||||
server->isupport = malloc (1 + length + 1);
|
||||
if (server->isupport)
|
||||
pos_start = server->isupport;
|
||||
}
|
||||
|
||||
if (pos_start)
|
||||
{
|
||||
pos_start[0] = ' ';
|
||||
memcpy (pos_start + 1, argv_eol[3], length);
|
||||
pos_start[length + 1] = '\0';
|
||||
}
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
|
||||
@@ -297,6 +297,57 @@ irc_server_get_nick_index (struct t_irc_server *server)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_get_isupport_value: return value of an item in "isupport" (copy
|
||||
* of IRC message 005)
|
||||
* if featureis found but has no value, empty
|
||||
* string is returned
|
||||
* if feature is not found, NULL is returned
|
||||
*/
|
||||
|
||||
const char *
|
||||
irc_server_get_isupport_value (struct t_irc_server *server, const char *feature)
|
||||
{
|
||||
char feature2[64], *pos_feature, *pos_equal, *pos_space;
|
||||
int length;
|
||||
static char value[256];
|
||||
|
||||
if (!server || !server->isupport || !feature)
|
||||
return NULL;
|
||||
|
||||
/* search feature with value */
|
||||
snprintf (feature2, sizeof (feature2), " %s=", feature);
|
||||
pos_feature = strstr (server->isupport, feature2);
|
||||
if (pos_feature)
|
||||
{
|
||||
/* feature found with value, return value */
|
||||
pos_feature++;
|
||||
pos_equal = strchr (pos_feature, '=');
|
||||
pos_space = strchr (pos_feature, ' ');
|
||||
if (pos_space)
|
||||
length = pos_space - pos_equal - 1;
|
||||
else
|
||||
length = strlen (pos_equal) + 1;
|
||||
if (length > (int)sizeof (value) - 1)
|
||||
length = (int)sizeof (value) - 1;
|
||||
memcpy (value, pos_equal + 1, length);
|
||||
value[length] = '\0';
|
||||
return value;
|
||||
}
|
||||
|
||||
/* search feature without value */
|
||||
feature2[strlen (feature2) - 1] = ' ';
|
||||
pos_feature = strstr (server->isupport, feature2);
|
||||
if (pos_feature)
|
||||
{
|
||||
value[0] = '\0';
|
||||
return value;
|
||||
}
|
||||
|
||||
/* feature not found in isupport */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_server_alloc: allocate a new server and add it to the servers queue
|
||||
*/
|
||||
@@ -355,6 +406,7 @@ irc_server_alloc (const char *name)
|
||||
new_server->nick_first_tried = 0;
|
||||
new_server->nick = NULL;
|
||||
new_server->nick_modes = NULL;
|
||||
new_server->isupport = NULL;
|
||||
new_server->prefix = NULL;
|
||||
new_server->reconnect_delay = 0;
|
||||
new_server->reconnect_start = 0;
|
||||
@@ -754,6 +806,8 @@ irc_server_free_data (struct t_irc_server *server)
|
||||
free (server->nick);
|
||||
if (server->nick_modes)
|
||||
free (server->nick_modes);
|
||||
if (server->isupport)
|
||||
free (server->isupport);
|
||||
if (server->prefix)
|
||||
free (server->prefix);
|
||||
if (server->away_message)
|
||||
@@ -2965,6 +3019,11 @@ irc_server_disconnect (struct t_irc_server *server, int reconnect)
|
||||
server->nick_modes = NULL;
|
||||
weechat_bar_item_update ("input_prompt");
|
||||
}
|
||||
if (server->isupport)
|
||||
{
|
||||
free (server->isupport);
|
||||
server->isupport = NULL;
|
||||
}
|
||||
if (server->prefix)
|
||||
{
|
||||
free (server->prefix);
|
||||
@@ -3553,6 +3612,8 @@ irc_server_add_to_infolist (struct t_infolist *infolist,
|
||||
return 0;
|
||||
if (!weechat_infolist_new_var_string (ptr_item, "nick_modes", server->nick_modes))
|
||||
return 0;
|
||||
if (!weechat_infolist_new_var_string (ptr_item, "isupport", server->isupport))
|
||||
return 0;
|
||||
if (!weechat_infolist_new_var_string (ptr_item, "prefix", server->prefix))
|
||||
return 0;
|
||||
if (!weechat_infolist_new_var_integer (ptr_item, "reconnect_delay", server->reconnect_delay))
|
||||
@@ -3791,6 +3852,7 @@ irc_server_print_log ()
|
||||
weechat_log_printf (" nick_first_tried . . : %d", ptr_server->nick_first_tried);
|
||||
weechat_log_printf (" nick . . . . . . . . : '%s'", ptr_server->nick);
|
||||
weechat_log_printf (" nick_modes . . . . . : '%s'", ptr_server->nick_modes);
|
||||
weechat_log_printf (" isupport . . . . . . : '%s'", ptr_server->isupport);
|
||||
weechat_log_printf (" prefix . . . . . . . : '%s'", ptr_server->prefix);
|
||||
weechat_log_printf (" reconnect_delay. . . : %d", ptr_server->reconnect_delay);
|
||||
weechat_log_printf (" reconnect_start. . . : %ld", ptr_server->reconnect_start);
|
||||
|
||||
@@ -137,6 +137,7 @@ struct t_irc_server
|
||||
/* when (re-)connecting to server */
|
||||
char *nick; /* current nickname */
|
||||
char *nick_modes; /* nick modes */
|
||||
char *isupport; /* copy of message 005 (ISUPPORT) */
|
||||
char *prefix; /* nick prefix allowed (from msg 005) */
|
||||
int reconnect_delay; /* current reconnect delay (growing) */
|
||||
time_t reconnect_start; /* this time + delay = reconnect time */
|
||||
@@ -190,6 +191,8 @@ extern void irc_server_set_addresses (struct t_irc_server *server,
|
||||
extern void irc_server_set_nicks (struct t_irc_server *server, const char *nicks);
|
||||
extern void irc_server_set_nick (struct t_irc_server *server, const char *nick);
|
||||
extern int irc_server_get_nick_index (struct t_irc_server *server);
|
||||
extern const char *irc_server_get_isupport_value (struct t_irc_server *server,
|
||||
const char *feature);
|
||||
extern struct t_irc_server *irc_server_alloc (const char *name);
|
||||
extern int irc_server_alloc_with_url (const char *irc_url);
|
||||
extern void irc_server_apply_command_line_options (struct t_irc_server *server,
|
||||
|
||||
@@ -253,6 +253,9 @@ irc_upgrade_read_cb (void *data,
|
||||
str = weechat_infolist_string (infolist, "nick_modes");
|
||||
if (str)
|
||||
irc_upgrade_current_server->nick_modes = strdup (str);
|
||||
str = weechat_infolist_string (infolist, "isupport");
|
||||
if (str)
|
||||
irc_upgrade_current_server->isupport = strdup (str);
|
||||
str = weechat_infolist_string (infolist, "prefix");
|
||||
if (str)
|
||||
irc_upgrade_current_server->prefix = strdup (str);
|
||||
|
||||
Reference in New Issue
Block a user