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

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

This commit is contained in:
Sébastien Helleu
2021-10-16 19:32:13 +02:00
parent a3ddeba9f9
commit a73e9eb8ca
2 changed files with 14 additions and 9 deletions
+9 -4
View File
@@ -6857,22 +6857,27 @@ IRC_PROTOCOL_CALLBACK(900)
* Callback for the IRC command "901": you are now logged in.
*
* Command looks like:
* :server 901 mynick nick user host :You are now logged in. (id nick, username user, hostname host)
* 901 mynick nick user host :You are now logged in. (id nick, username user, hostname host)
*/
IRC_PROTOCOL_CALLBACK(901)
{
IRC_PROTOCOL_MIN_ARGS(6);
char *str_params;
if (argc >= 7)
IRC_PROTOCOL_MIN_PARAMS(4);
if (num_params >= 5)
{
str_params = irc_protocol_string_params (params, 4, num_params - 1);
weechat_printf_date_tags (
irc_msgbuffer_get_target_buffer (server, NULL, command, NULL, NULL),
date,
irc_protocol_tags (command, "irc_numeric", NULL, NULL),
"%s%s",
weechat_prefix ("network"),
(argv_eol[6][0] == ':') ? argv_eol[6] + 1 : argv_eol[6]);
str_params);
if (str_params)
free (str_params);
}
else
{
+5 -5
View File
@@ -4030,15 +4030,15 @@ TEST(IrcProtocolWithServer, 901)
{
SRV_INIT;
/* not enough arguments */
/* not enough parameters */
RECV(":server 901");
CHECK_ERROR_ARGS("901", 2, 6);
CHECK_ERROR_PARAMS("901", 0, 4);
RECV(":server 901 alice");
CHECK_ERROR_ARGS("901", 3, 6);
CHECK_ERROR_PARAMS("901", 1, 4);
RECV(":server 901 alice user");
CHECK_ERROR_ARGS("901", 4, 6);
CHECK_ERROR_PARAMS("901", 2, 4);
RECV(":server 901 alice user host");
CHECK_ERROR_ARGS("901", 5, 6);
CHECK_ERROR_PARAMS("901", 3, 4);
RECV(":server 901 alice nick user host logged");
CHECK_SRV("-- logged");