1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-30 14:56:39 +02:00

irc: use parsed command parameters in "account" command callback

This commit is contained in:
Sébastien Helleu
2021-10-10 21:38:41 +02:00
parent 5458382bb8
commit 69c457287d
2 changed files with 29 additions and 3 deletions
+4 -3
View File
@@ -322,14 +322,15 @@ IRC_PROTOCOL_CALLBACK(account)
struct t_irc_channel *ptr_channel;
struct t_irc_nick *ptr_nick;
struct t_irc_channel_speaking *ptr_nick_speaking;
char *pos_account, str_account[512];
const char *pos_account;
char str_account[512];
int cap_account_notify, local_account, smart_filter;
IRC_PROTOCOL_MIN_ARGS(3);
IRC_PROTOCOL_MIN_PARAMS(1);
local_account = (irc_server_strcasecmp (server, nick, server->nick) == 0);
pos_account = (argv[2][0] == ':') ? argv[2] + 1 : argv[2];
pos_account = params[0];
if (strcmp (pos_account, "*") == 0)
pos_account = NULL;
+25
View File
@@ -52,6 +52,7 @@
(void) host; \
(void) command; \
(void) ignored; \
(void) argc; \
(void) argv; \
(void) argv_eol; \
(void) params; \
@@ -67,6 +68,30 @@
return WEECHAT_RC_ERROR; \
}
#define IRC_PROTOCOL_MIN_PARAMS(__min_params) \
(void) date; \
(void) tags; \
(void) nick; \
(void) address; \
(void) host; \
(void) command; \
(void) ignored; \
(void) argc; \
(void) argv; \
(void) argv_eol; \
(void) params; \
(void) num_params; \
if (num_params < __min_params) \
{ \
weechat_printf (server->buffer, \
_("%s%s: too few parameters received in " \
"command \"%s\" (received: %d parameters, " \
"expected: at least %d)"), \
weechat_prefix ("error"), IRC_PLUGIN_NAME, \
command, num_params, __min_params); \
return WEECHAT_RC_ERROR; \
}
#define IRC_PROTOCOL_CHECK_HOST \
if (argv[0][0] != ':') \
{ \