mirror of
https://github.com/weechat/weechat.git
synced 2026-07-01 23:36:37 +02:00
Added channel modes +e/+f, IRC commands 348,349,470
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
ChangeLog - 2005-10-15
|
||||
ChangeLog - 2005-10-16
|
||||
|
||||
|
||||
Version 0.1.6 (under dev!):
|
||||
* new plugin interface, rewritten from scratch: now loads dynamic C
|
||||
library, and perl/python are plugin scripts
|
||||
* added some missing IRC commands
|
||||
* added some missing IRC commands, channel modes +e and +f
|
||||
* added colors for input buffer and current channel of status bar
|
||||
* added online help for config options (with /set full_option_name)
|
||||
* enhanced "smart" hotlist, with names (new options:
|
||||
|
||||
+345
-309
File diff suppressed because it is too large
Load Diff
@@ -148,6 +148,7 @@ t_irc_command irc_commands[] =
|
||||
" m: moderated channel\n"
|
||||
" l: set the user limit to channel\n"
|
||||
" b: set a ban mask to keep users out\n"
|
||||
" e: set exception mask\n"
|
||||
" v: give/take the ability to speak on a moderated channel\n"
|
||||
" k: set a channel key (password)\n"
|
||||
"user modes:\n"
|
||||
@@ -361,6 +362,8 @@ t_irc_command irc_commands[] =
|
||||
{ "341", N_("inviting"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_341 },
|
||||
{ "344", N_("channel reop"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_344 },
|
||||
{ "345", N_("end of channel reop list"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_345 },
|
||||
{ "348", N_("channel exception list"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_348 },
|
||||
{ "349", N_("end of channel exception list"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_349 },
|
||||
{ "351", N_("server version"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_351 },
|
||||
{ "352", N_("who"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_352 },
|
||||
{ "353", N_("list of nicks on channel"),
|
||||
@@ -452,6 +455,8 @@ t_irc_command irc_commands[] =
|
||||
"", "", 0, MAX_ARGS, 1, NULL, NULL, irc_cmd_recv_error },
|
||||
{ "467", N_("channel key already set"),
|
||||
"", "", 0, MAX_ARGS, 1, NULL, NULL, irc_cmd_recv_error },
|
||||
{ "470", N_("forwarding to another channel"),
|
||||
"", "", 0, MAX_ARGS, 1, NULL, NULL, irc_cmd_recv_error },
|
||||
{ "471", N_("channel is already full"),
|
||||
"", "", 0, MAX_ARGS, 1, NULL, NULL, irc_cmd_recv_error },
|
||||
{ "472", N_("unknown mode char to me"),
|
||||
|
||||
@@ -565,6 +565,56 @@ void irc_get_channel_modes (t_irc_channel *ptr_channel, char *channel_name,
|
||||
_("removes ban on"),
|
||||
(parm) ? parm : NULL);
|
||||
|
||||
/* look for next parameter */
|
||||
if (parm && pos)
|
||||
{
|
||||
pos++;
|
||||
while (pos[0] == ' ')
|
||||
pos++;
|
||||
parm = pos;
|
||||
}
|
||||
break;
|
||||
case 'e':
|
||||
pos = NULL;
|
||||
if (parm)
|
||||
{
|
||||
pos = strchr (parm, ' ');
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
}
|
||||
if (nick_host)
|
||||
irc_display_mode (ptr_channel->buffer,
|
||||
channel_name, set_flag, "e", nick_host,
|
||||
(set_flag == '+') ?
|
||||
_("sets exception on") :
|
||||
_("removes exception on"),
|
||||
(parm) ? parm : NULL);
|
||||
|
||||
/* look for next parameter */
|
||||
if (parm && pos)
|
||||
{
|
||||
pos++;
|
||||
while (pos[0] == ' ')
|
||||
pos++;
|
||||
parm = pos;
|
||||
}
|
||||
break;
|
||||
case 'f':
|
||||
pos = NULL;
|
||||
if (parm)
|
||||
{
|
||||
pos = strchr (parm, ' ');
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
}
|
||||
if (nick_host)
|
||||
irc_display_mode (ptr_channel->buffer,
|
||||
channel_name, set_flag, "f", nick_host,
|
||||
(set_flag == '+') ?
|
||||
_("sets mode +f") :
|
||||
_("removes mode +f"),
|
||||
(parm) ? parm : NULL);
|
||||
|
||||
/* look for next parameter */
|
||||
if (parm && pos)
|
||||
{
|
||||
@@ -3777,6 +3827,181 @@ irc_cmd_recv_345 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_348: '348' command received (channel exception list)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_cmd_recv_348 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
{
|
||||
char *pos_channel, *pos_exception, *pos_user, *pos_date, *pos;
|
||||
t_irc_channel *ptr_channel;
|
||||
t_gui_buffer *buffer;
|
||||
time_t datetime;
|
||||
|
||||
/* make gcc happy */
|
||||
(void) nick;
|
||||
|
||||
/* look for channel */
|
||||
pos_channel = strchr (arguments, ' ');
|
||||
if (!pos_channel)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
pos_channel[0] = '\0';
|
||||
pos_channel++;
|
||||
while (pos_channel[0] == ' ')
|
||||
pos_channel++;
|
||||
|
||||
/* look for exception mask */
|
||||
pos_exception = strchr (pos_channel, ' ');
|
||||
if (!pos_exception)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
pos_exception[0] = '\0';
|
||||
pos_exception++;
|
||||
while (pos_exception[0] == ' ')
|
||||
pos_exception++;
|
||||
|
||||
/* look for user who set exception */
|
||||
pos_user = strchr (pos_exception, ' ');
|
||||
if (!pos_user)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
pos_user[0] = '\0';
|
||||
pos_user++;
|
||||
while (pos_user[0] == ' ')
|
||||
pos_user++;
|
||||
|
||||
/* look for date/time */
|
||||
pos_date = strchr (pos_user, ' ');
|
||||
if (!pos_date)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
pos_date[0] = '\0';
|
||||
pos_date++;
|
||||
while (pos_date[0] == ' ')
|
||||
pos_date++;
|
||||
|
||||
if (!pos_date || !pos_date[0])
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
|
||||
ptr_channel = channel_search (server, pos_channel);
|
||||
buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
|
||||
|
||||
command_ignored |= ignore_check (host, "348", pos_channel, server->name);
|
||||
|
||||
if (!command_ignored)
|
||||
{
|
||||
irc_display_prefix (buffer, PREFIX_INFO);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "[");
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_CHANNEL, "%s", pos_channel);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "] ");
|
||||
gui_printf (buffer, _("exception"));
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_HOST, " %s ", pos_exception);
|
||||
gui_printf (buffer, _("by"));
|
||||
pos = strchr (pos_user, '!');
|
||||
if (pos)
|
||||
{
|
||||
pos[0] = '\0';
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_NICK, " %s ", pos_user);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "(");
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_HOST, "%s", pos + 1);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, ")");
|
||||
}
|
||||
else
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_NICK, " %s", pos_user);
|
||||
datetime = (time_t)(atol (pos_date));
|
||||
gui_printf_nolog (buffer, ", %s", ctime (&datetime));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_349: '349' command received (end of channel exception list)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_cmd_recv_349 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
{
|
||||
char *pos_channel, *pos_msg;
|
||||
t_irc_channel *ptr_channel;
|
||||
t_gui_buffer *buffer;
|
||||
|
||||
/* make gcc happy */
|
||||
(void) nick;
|
||||
|
||||
pos_channel = strchr (arguments, ' ');
|
||||
if (!pos_channel)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "349");
|
||||
return -1;
|
||||
}
|
||||
pos_channel[0] = '\0';
|
||||
pos_channel++;
|
||||
while (pos_channel[0] == ' ')
|
||||
pos_channel++;
|
||||
|
||||
pos_msg = strchr (pos_channel, ' ');
|
||||
if (!pos_msg)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "349");
|
||||
return -1;
|
||||
}
|
||||
pos_msg[0] = '\0';
|
||||
pos_msg++;
|
||||
while (pos_msg[0] == ' ')
|
||||
pos_msg++;
|
||||
if (pos_msg[0] == ':')
|
||||
pos_msg++;
|
||||
|
||||
ptr_channel = channel_search (server, pos_channel);
|
||||
buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
|
||||
|
||||
command_ignored |= ignore_check (host, "349", pos_channel, server->name);
|
||||
|
||||
if (!command_ignored)
|
||||
{
|
||||
irc_display_prefix (buffer, PREFIX_INFO);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "[");
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_CHANNEL, "%s", pos_channel);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "] ");
|
||||
gui_printf_nolog (buffer, "%s\n", pos_msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_351: '351' command received (server version)
|
||||
*/
|
||||
|
||||
@@ -488,6 +488,8 @@ extern int irc_cmd_recv_333 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_341 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_344 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_345 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_348 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_349 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_351 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_352 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_353 (t_irc_server *, char *, char *, char *);
|
||||
|
||||
+2
-2
@@ -1,13 +1,13 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
ChangeLog - 2005-10-15
|
||||
ChangeLog - 2005-10-16
|
||||
|
||||
|
||||
Version 0.1.6 (under dev!):
|
||||
* new plugin interface, rewritten from scratch: now loads dynamic C
|
||||
library, and perl/python are plugin scripts
|
||||
* added some missing IRC commands
|
||||
* added some missing IRC commands, channel modes +e and +f
|
||||
* added colors for input buffer and current channel of status bar
|
||||
* added online help for config options (with /set full_option_name)
|
||||
* enhanced "smart" hotlist, with names (new options:
|
||||
|
||||
+345
-308
File diff suppressed because it is too large
Load Diff
+345
-308
File diff suppressed because it is too large
Load Diff
+345
-308
File diff suppressed because it is too large
Load Diff
+345
-309
File diff suppressed because it is too large
Load Diff
@@ -148,6 +148,7 @@ t_irc_command irc_commands[] =
|
||||
" m: moderated channel\n"
|
||||
" l: set the user limit to channel\n"
|
||||
" b: set a ban mask to keep users out\n"
|
||||
" e: set exception mask\n"
|
||||
" v: give/take the ability to speak on a moderated channel\n"
|
||||
" k: set a channel key (password)\n"
|
||||
"user modes:\n"
|
||||
@@ -361,6 +362,8 @@ t_irc_command irc_commands[] =
|
||||
{ "341", N_("inviting"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_341 },
|
||||
{ "344", N_("channel reop"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_344 },
|
||||
{ "345", N_("end of channel reop list"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_345 },
|
||||
{ "348", N_("channel exception list"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_348 },
|
||||
{ "349", N_("end of channel exception list"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_349 },
|
||||
{ "351", N_("server version"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_351 },
|
||||
{ "352", N_("who"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_352 },
|
||||
{ "353", N_("list of nicks on channel"),
|
||||
@@ -452,6 +455,8 @@ t_irc_command irc_commands[] =
|
||||
"", "", 0, MAX_ARGS, 1, NULL, NULL, irc_cmd_recv_error },
|
||||
{ "467", N_("channel key already set"),
|
||||
"", "", 0, MAX_ARGS, 1, NULL, NULL, irc_cmd_recv_error },
|
||||
{ "470", N_("forwarding to another channel"),
|
||||
"", "", 0, MAX_ARGS, 1, NULL, NULL, irc_cmd_recv_error },
|
||||
{ "471", N_("channel is already full"),
|
||||
"", "", 0, MAX_ARGS, 1, NULL, NULL, irc_cmd_recv_error },
|
||||
{ "472", N_("unknown mode char to me"),
|
||||
|
||||
@@ -565,6 +565,56 @@ void irc_get_channel_modes (t_irc_channel *ptr_channel, char *channel_name,
|
||||
_("removes ban on"),
|
||||
(parm) ? parm : NULL);
|
||||
|
||||
/* look for next parameter */
|
||||
if (parm && pos)
|
||||
{
|
||||
pos++;
|
||||
while (pos[0] == ' ')
|
||||
pos++;
|
||||
parm = pos;
|
||||
}
|
||||
break;
|
||||
case 'e':
|
||||
pos = NULL;
|
||||
if (parm)
|
||||
{
|
||||
pos = strchr (parm, ' ');
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
}
|
||||
if (nick_host)
|
||||
irc_display_mode (ptr_channel->buffer,
|
||||
channel_name, set_flag, "e", nick_host,
|
||||
(set_flag == '+') ?
|
||||
_("sets exception on") :
|
||||
_("removes exception on"),
|
||||
(parm) ? parm : NULL);
|
||||
|
||||
/* look for next parameter */
|
||||
if (parm && pos)
|
||||
{
|
||||
pos++;
|
||||
while (pos[0] == ' ')
|
||||
pos++;
|
||||
parm = pos;
|
||||
}
|
||||
break;
|
||||
case 'f':
|
||||
pos = NULL;
|
||||
if (parm)
|
||||
{
|
||||
pos = strchr (parm, ' ');
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
}
|
||||
if (nick_host)
|
||||
irc_display_mode (ptr_channel->buffer,
|
||||
channel_name, set_flag, "f", nick_host,
|
||||
(set_flag == '+') ?
|
||||
_("sets mode +f") :
|
||||
_("removes mode +f"),
|
||||
(parm) ? parm : NULL);
|
||||
|
||||
/* look for next parameter */
|
||||
if (parm && pos)
|
||||
{
|
||||
@@ -3777,6 +3827,181 @@ irc_cmd_recv_345 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_348: '348' command received (channel exception list)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_cmd_recv_348 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
{
|
||||
char *pos_channel, *pos_exception, *pos_user, *pos_date, *pos;
|
||||
t_irc_channel *ptr_channel;
|
||||
t_gui_buffer *buffer;
|
||||
time_t datetime;
|
||||
|
||||
/* make gcc happy */
|
||||
(void) nick;
|
||||
|
||||
/* look for channel */
|
||||
pos_channel = strchr (arguments, ' ');
|
||||
if (!pos_channel)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
pos_channel[0] = '\0';
|
||||
pos_channel++;
|
||||
while (pos_channel[0] == ' ')
|
||||
pos_channel++;
|
||||
|
||||
/* look for exception mask */
|
||||
pos_exception = strchr (pos_channel, ' ');
|
||||
if (!pos_exception)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
pos_exception[0] = '\0';
|
||||
pos_exception++;
|
||||
while (pos_exception[0] == ' ')
|
||||
pos_exception++;
|
||||
|
||||
/* look for user who set exception */
|
||||
pos_user = strchr (pos_exception, ' ');
|
||||
if (!pos_user)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
pos_user[0] = '\0';
|
||||
pos_user++;
|
||||
while (pos_user[0] == ' ')
|
||||
pos_user++;
|
||||
|
||||
/* look for date/time */
|
||||
pos_date = strchr (pos_user, ' ');
|
||||
if (!pos_date)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
pos_date[0] = '\0';
|
||||
pos_date++;
|
||||
while (pos_date[0] == ' ')
|
||||
pos_date++;
|
||||
|
||||
if (!pos_date || !pos_date[0])
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "348");
|
||||
return -1;
|
||||
}
|
||||
|
||||
ptr_channel = channel_search (server, pos_channel);
|
||||
buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
|
||||
|
||||
command_ignored |= ignore_check (host, "348", pos_channel, server->name);
|
||||
|
||||
if (!command_ignored)
|
||||
{
|
||||
irc_display_prefix (buffer, PREFIX_INFO);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "[");
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_CHANNEL, "%s", pos_channel);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "] ");
|
||||
gui_printf (buffer, _("exception"));
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_HOST, " %s ", pos_exception);
|
||||
gui_printf (buffer, _("by"));
|
||||
pos = strchr (pos_user, '!');
|
||||
if (pos)
|
||||
{
|
||||
pos[0] = '\0';
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_NICK, " %s ", pos_user);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "(");
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_HOST, "%s", pos + 1);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, ")");
|
||||
}
|
||||
else
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_NICK, " %s", pos_user);
|
||||
datetime = (time_t)(atol (pos_date));
|
||||
gui_printf_nolog (buffer, ", %s", ctime (&datetime));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_349: '349' command received (end of channel exception list)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_cmd_recv_349 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
{
|
||||
char *pos_channel, *pos_msg;
|
||||
t_irc_channel *ptr_channel;
|
||||
t_gui_buffer *buffer;
|
||||
|
||||
/* make gcc happy */
|
||||
(void) nick;
|
||||
|
||||
pos_channel = strchr (arguments, ' ');
|
||||
if (!pos_channel)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "349");
|
||||
return -1;
|
||||
}
|
||||
pos_channel[0] = '\0';
|
||||
pos_channel++;
|
||||
while (pos_channel[0] == ' ')
|
||||
pos_channel++;
|
||||
|
||||
pos_msg = strchr (pos_channel, ' ');
|
||||
if (!pos_msg)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "349");
|
||||
return -1;
|
||||
}
|
||||
pos_msg[0] = '\0';
|
||||
pos_msg++;
|
||||
while (pos_msg[0] == ' ')
|
||||
pos_msg++;
|
||||
if (pos_msg[0] == ':')
|
||||
pos_msg++;
|
||||
|
||||
ptr_channel = channel_search (server, pos_channel);
|
||||
buffer = (ptr_channel) ? ptr_channel->buffer : server->buffer;
|
||||
|
||||
command_ignored |= ignore_check (host, "349", pos_channel, server->name);
|
||||
|
||||
if (!command_ignored)
|
||||
{
|
||||
irc_display_prefix (buffer, PREFIX_INFO);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "[");
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_CHANNEL, "%s", pos_channel);
|
||||
gui_printf_color (buffer, COLOR_WIN_CHAT_DARK, "] ");
|
||||
gui_printf_nolog (buffer, "%s\n", pos_msg);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_351: '351' command received (server version)
|
||||
*/
|
||||
|
||||
@@ -488,6 +488,8 @@ extern int irc_cmd_recv_333 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_341 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_344 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_345 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_348 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_349 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_351 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_352 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_353 (t_irc_server *, char *, char *, char *);
|
||||
|
||||
Reference in New Issue
Block a user