mirror of
https://github.com/weechat/weechat.git
synced 2026-06-25 20:36:38 +02:00
Added IRC command "221"
This commit is contained in:
+235
-227
File diff suppressed because it is too large
Load Diff
@@ -302,6 +302,7 @@ t_irc_command irc_commands[] =
|
||||
{ "020", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "212", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "219", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "221", N_("user mode string"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_221 },
|
||||
{ "250", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "251", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "252", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
|
||||
+44
-4
@@ -170,10 +170,7 @@ irc_recv_command (t_irc_server *server, char *entire_line,
|
||||
if (irc_commands[i].recv_function != NULL)
|
||||
{
|
||||
command_ignored = ignore_check (host, irc_commands[i].command_name, NULL, server->name);
|
||||
if (host)
|
||||
pos = strchr (host, '!');
|
||||
else
|
||||
pos = NULL;
|
||||
pos = (host) ? strchr (host, '!') : NULL;
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
nick = (host) ? strdup (host) : NULL;
|
||||
@@ -2321,6 +2318,49 @@ irc_cmd_recv_004 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_221: '221' command (user mode string)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_cmd_recv_221 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
{
|
||||
char *pos_mode;
|
||||
|
||||
/* make gcc happy */
|
||||
(void) server;
|
||||
(void) host;
|
||||
(void) nick;
|
||||
|
||||
pos_mode = strchr (arguments, ' ');
|
||||
if (pos_mode)
|
||||
{
|
||||
pos_mode[0] = '\0';
|
||||
pos_mode++;
|
||||
while (pos_mode[0] == ' ')
|
||||
pos_mode++;
|
||||
|
||||
if (!command_ignored)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_SERVER);
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT, _("User mode"));
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " [");
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "/");
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, pos_mode);
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "]\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "221");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_301: '301' command (away message)
|
||||
*/
|
||||
|
||||
@@ -663,8 +663,8 @@ server_msgq_flush ()
|
||||
case -3:
|
||||
irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
|
||||
gui_printf (recv_msgq->server->buffer,
|
||||
_("%s Unknown command: cmd=%s, args=%s\n"),
|
||||
WEECHAT_WARNING, command, args);
|
||||
_("%s Unknown command: cmd=%s, host=%s, args=%s\n"),
|
||||
WEECHAT_WARNING, command, host, args);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -459,6 +459,7 @@ extern int irc_cmd_recv_server_reply (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_topic (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_001 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_004 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_221 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_301 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_302 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_303 (t_irc_server *, char *, char *, char *);
|
||||
|
||||
+237
-229
File diff suppressed because it is too large
Load Diff
+237
-229
File diff suppressed because it is too large
Load Diff
+235
-227
File diff suppressed because it is too large
Load Diff
@@ -302,6 +302,7 @@ t_irc_command irc_commands[] =
|
||||
{ "020", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "212", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "219", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "221", N_("user mode string"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_221 },
|
||||
{ "250", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "251", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
{ "252", N_("a server message"), "", "", 0, 0, 1, NULL, NULL, irc_cmd_recv_server_msg },
|
||||
|
||||
@@ -170,10 +170,7 @@ irc_recv_command (t_irc_server *server, char *entire_line,
|
||||
if (irc_commands[i].recv_function != NULL)
|
||||
{
|
||||
command_ignored = ignore_check (host, irc_commands[i].command_name, NULL, server->name);
|
||||
if (host)
|
||||
pos = strchr (host, '!');
|
||||
else
|
||||
pos = NULL;
|
||||
pos = (host) ? strchr (host, '!') : NULL;
|
||||
if (pos)
|
||||
pos[0] = '\0';
|
||||
nick = (host) ? strdup (host) : NULL;
|
||||
@@ -2321,6 +2318,49 @@ irc_cmd_recv_004 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_221: '221' command (user mode string)
|
||||
*/
|
||||
|
||||
int
|
||||
irc_cmd_recv_221 (t_irc_server *server, char *host, char *nick, char *arguments)
|
||||
{
|
||||
char *pos_mode;
|
||||
|
||||
/* make gcc happy */
|
||||
(void) server;
|
||||
(void) host;
|
||||
(void) nick;
|
||||
|
||||
pos_mode = strchr (arguments, ' ');
|
||||
if (pos_mode)
|
||||
{
|
||||
pos_mode[0] = '\0';
|
||||
pos_mode++;
|
||||
while (pos_mode[0] == ' ')
|
||||
pos_mode++;
|
||||
|
||||
if (!command_ignored)
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_SERVER);
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT, _("User mode"));
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, " [");
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, "%s", arguments);
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT, "/");
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_NICK, pos_mode);
|
||||
gui_printf_color (server->buffer, COLOR_WIN_CHAT_DARK, "]\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
irc_display_prefix (server->buffer, PREFIX_ERROR);
|
||||
gui_printf_nolog (server->buffer,
|
||||
_("%s cannot parse \"%s\" command\n"),
|
||||
WEECHAT_ERROR, "221");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* irc_cmd_recv_301: '301' command (away message)
|
||||
*/
|
||||
|
||||
@@ -663,8 +663,8 @@ server_msgq_flush ()
|
||||
case -3:
|
||||
irc_display_prefix (recv_msgq->server->buffer, PREFIX_ERROR);
|
||||
gui_printf (recv_msgq->server->buffer,
|
||||
_("%s Unknown command: cmd=%s, args=%s\n"),
|
||||
WEECHAT_WARNING, command, args);
|
||||
_("%s Unknown command: cmd=%s, host=%s, args=%s\n"),
|
||||
WEECHAT_WARNING, command, host, args);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -459,6 +459,7 @@ extern int irc_cmd_recv_server_reply (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_topic (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_001 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_004 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_221 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_301 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_302 (t_irc_server *, char *, char *, char *);
|
||||
extern int irc_cmd_recv_303 (t_irc_server *, char *, char *, char *);
|
||||
|
||||
Reference in New Issue
Block a user