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:
@@ -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;
|
||||
|
||||
|
||||
@@ -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] != ':') \
|
||||
{ \
|
||||
|
||||
Reference in New Issue
Block a user