mirror of
https://github.com/weechat/weechat.git
synced 2026-06-27 21:36:37 +02:00
irc: use util functions to parse integers
This commit is contained in:
+15
-28
@@ -96,8 +96,8 @@ char *irc_color_string_decoded[32];
|
||||
int
|
||||
irc_color_convert_rgb2term (long rgb)
|
||||
{
|
||||
char str_color[64], *info_color, *error;
|
||||
long number;
|
||||
char str_color[64], *info_color;
|
||||
int number;
|
||||
|
||||
if (rgb < 0)
|
||||
return -1;
|
||||
@@ -111,9 +111,7 @@ irc_color_convert_rgb2term (long rgb)
|
||||
return -1;
|
||||
}
|
||||
|
||||
error = NULL;
|
||||
number = strtol (info_color, &error, 10);
|
||||
if (!error || error[0])
|
||||
if (!weechat_util_parse_int (info_color, 10, &number))
|
||||
{
|
||||
free (info_color);
|
||||
return -1;
|
||||
@@ -121,7 +119,7 @@ irc_color_convert_rgb2term (long rgb)
|
||||
|
||||
free (info_color);
|
||||
|
||||
return (int)number;
|
||||
return number;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -133,8 +131,8 @@ irc_color_convert_rgb2term (long rgb)
|
||||
int
|
||||
irc_color_convert_rgb2irc (long rgb)
|
||||
{
|
||||
char str_color[64], *error, *info_color;
|
||||
long number;
|
||||
char str_color[64], *info_color;
|
||||
int number;
|
||||
|
||||
if (rgb < 0)
|
||||
return -1;
|
||||
@@ -151,9 +149,7 @@ irc_color_convert_rgb2irc (long rgb)
|
||||
return -1;
|
||||
}
|
||||
|
||||
error = NULL;
|
||||
number = strtol (info_color, &error, 10);
|
||||
if (!error || error[0]
|
||||
if (!weechat_util_parse_int (info_color, 10, &number)
|
||||
|| (number < 0) || (number >= IRC_COLOR_TERM2IRC_NUM_COLORS))
|
||||
{
|
||||
free (info_color);
|
||||
@@ -174,7 +170,7 @@ irc_color_convert_rgb2irc (long rgb)
|
||||
int
|
||||
irc_color_convert_term2irc (int color)
|
||||
{
|
||||
char str_color[64], *error, *info_color;
|
||||
char str_color[64], *info_color;
|
||||
long number;
|
||||
|
||||
snprintf (str_color, sizeof (str_color), "%d", color);
|
||||
@@ -186,9 +182,8 @@ irc_color_convert_term2irc (int color)
|
||||
return -1;
|
||||
}
|
||||
|
||||
error = NULL;
|
||||
number = strtol (info_color, &error, 10);
|
||||
if (!error || error[0] || (number < 0) || (number > 0xFFFFFF))
|
||||
if (!weechat_util_parse_long (info_color, 10, &number)
|
||||
|| (number < 0) || (number > 0xFFFFFF))
|
||||
{
|
||||
free (info_color);
|
||||
return -1;
|
||||
@@ -211,7 +206,7 @@ irc_color_convert_term2irc (int color)
|
||||
char *
|
||||
irc_color_decode (const char *string, int keep_colors)
|
||||
{
|
||||
char **out, *error;
|
||||
char **out;
|
||||
char str_fg[16], str_bg[16], str_color[128], str_key[128], str_to_add[128];
|
||||
const char *remapped_color;
|
||||
unsigned char *ptr_string;
|
||||
@@ -337,18 +332,14 @@ irc_color_decode (const char *string, int keep_colors)
|
||||
bg = -1;
|
||||
if (str_fg[0])
|
||||
{
|
||||
error = NULL;
|
||||
fg = (int)strtol (str_fg, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (str_fg, 10, &fg))
|
||||
fg %= IRC_NUM_COLORS;
|
||||
else
|
||||
fg = -1;
|
||||
}
|
||||
if (str_bg[0])
|
||||
{
|
||||
error = NULL;
|
||||
bg = (int)strtol (str_bg, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (str_bg, 10, &bg))
|
||||
bg %= IRC_NUM_COLORS;
|
||||
else
|
||||
bg = -1;
|
||||
@@ -422,16 +413,12 @@ irc_color_decode (const char *string, int keep_colors)
|
||||
bg_rgb = -1;
|
||||
if (str_fg[0])
|
||||
{
|
||||
error = NULL;
|
||||
fg_rgb = strtol (str_fg, &error, 16);
|
||||
if (!error || error[0])
|
||||
if (!weechat_util_parse_long (str_fg, 16, &fg_rgb))
|
||||
fg_rgb = -1;
|
||||
}
|
||||
if (str_bg[0])
|
||||
{
|
||||
error = NULL;
|
||||
bg_rgb = strtol (str_bg, &error, 16);
|
||||
if (!error || error[0])
|
||||
if (!weechat_util_parse_long (str_bg, 16, &bg_rgb))
|
||||
bg_rgb = -1;
|
||||
}
|
||||
str_fg[0] = '\0';
|
||||
|
||||
@@ -232,9 +232,8 @@ irc_command_mode_nicks (struct t_irc_server *server,
|
||||
char **
|
||||
irc_command_mode_masks_convert_ranges (char **argv, int arg_start)
|
||||
{
|
||||
char **str_masks, **masks, *error1, *error2, *pos, str_number[32];
|
||||
int i, length, added;
|
||||
long j, number1, number2;
|
||||
char **str_masks, **masks, *pos, str_number[32];
|
||||
int i, j, length, added, number1, number2;
|
||||
|
||||
if (!argv || (arg_start < 0))
|
||||
return NULL;
|
||||
@@ -255,12 +254,8 @@ irc_command_mode_masks_convert_ranges (char **argv, int arg_start)
|
||||
&& (argv[i][length - 1] != '-'))
|
||||
{
|
||||
pos[0] = '\0';
|
||||
error1 = NULL;
|
||||
number1 = strtol (argv[i], &error1, 10);
|
||||
error2 = NULL;
|
||||
number2 = strtol (pos + 1, &error2, 10);
|
||||
if (error1 && !error1[0]
|
||||
&& error2 && !error2[0]
|
||||
if (weechat_util_parse_int (argv[i], 10, &number1)
|
||||
&& weechat_util_parse_int (pos + 1, 10, &number2)
|
||||
&& (number1 > 0) && (number1 < 128)
|
||||
&& (number2 > 0) && (number2 < 128)
|
||||
&& (number1 < number2))
|
||||
@@ -269,8 +264,7 @@ irc_command_mode_masks_convert_ranges (char **argv, int arg_start)
|
||||
{
|
||||
if ((*str_masks)[0])
|
||||
weechat_string_dyn_concat (str_masks, " ", -1);
|
||||
snprintf (str_number, sizeof (str_number),
|
||||
"%ld", j);
|
||||
snprintf (str_number, sizeof (str_number), "%d", j);
|
||||
weechat_string_dyn_concat (str_masks, str_number, -1);
|
||||
}
|
||||
added = 1;
|
||||
@@ -312,14 +306,12 @@ irc_command_mode_masks (struct t_irc_server *server,
|
||||
const char *set, const char *mode,
|
||||
char **argv, int pos_masks)
|
||||
{
|
||||
int max_modes, modes_added, msg_priority;
|
||||
int max_modes, modes_added, msg_priority, number;
|
||||
char **modes, **masks, *mask;
|
||||
struct t_irc_channel *ptr_channel;
|
||||
struct t_irc_nick *ptr_nick;
|
||||
struct t_irc_modelist *ptr_modelist;
|
||||
struct t_irc_modelist_item *ptr_item;
|
||||
long number;
|
||||
char *error;
|
||||
|
||||
if (irc_mode_get_chanmode_type (server, mode[0]) != 'A')
|
||||
{
|
||||
@@ -367,9 +359,7 @@ irc_command_mode_masks (struct t_irc_server *server,
|
||||
/* use modelist item for number arguments */
|
||||
if (ptr_modelist && (set[0] == '-'))
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (argv[pos_masks], &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (argv[pos_masks], 10, &number))
|
||||
{
|
||||
ptr_item = irc_modelist_item_search_number (ptr_modelist,
|
||||
number - 1);
|
||||
@@ -2622,9 +2612,8 @@ irc_command_ignore_display (struct t_irc_ignore *ignore)
|
||||
IRC_COMMAND_CALLBACK(ignore)
|
||||
{
|
||||
struct t_irc_ignore *ptr_ignore;
|
||||
char *mask, *regex, *regex2, *ptr_regex, *pos, *server, *channel, *error;
|
||||
int length, update;
|
||||
long number;
|
||||
char *mask, *regex, *regex2, *ptr_regex, *pos, *server, *channel;
|
||||
int length, number, update;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) pointer;
|
||||
@@ -2767,9 +2756,7 @@ IRC_COMMAND_CALLBACK(ignore)
|
||||
}
|
||||
else
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (argv[2], &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (argv[2], 10, &number))
|
||||
{
|
||||
ptr_ignore = irc_ignore_search_by_number (number);
|
||||
if (ptr_ignore)
|
||||
@@ -3430,18 +3417,15 @@ int
|
||||
irc_command_list_get_int_arg (int argc, char **argv, int arg_number,
|
||||
int default_value)
|
||||
{
|
||||
long value;
|
||||
char *error;
|
||||
int value;
|
||||
|
||||
value = default_value;
|
||||
if (argc > arg_number)
|
||||
{
|
||||
error = NULL;
|
||||
value = strtol (argv[arg_number], &error, 10);
|
||||
if (!error || error[0])
|
||||
if (!weechat_util_parse_int (argv[arg_number], 10, &value))
|
||||
value = default_value;
|
||||
}
|
||||
return (int)value;
|
||||
return value;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -1288,10 +1288,8 @@ irc_config_server_check_value_cb (const void *pointer, void *data,
|
||||
struct t_config_option *option,
|
||||
const char *value)
|
||||
{
|
||||
int index_option, proxy_found;
|
||||
int index_option, number, proxy_found;
|
||||
const char *pos_error, *proxy_name;
|
||||
char *error;
|
||||
long number;
|
||||
struct t_infolist *infolist;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -1364,9 +1362,7 @@ irc_config_server_check_value_cb (const void *pointer, void *data,
|
||||
case IRC_SERVER_OPTION_SPLIT_MSG_MAX_LENGTH:
|
||||
if (!value || !value[0])
|
||||
break;
|
||||
error = NULL;
|
||||
number = strtol (value, &error, 10);
|
||||
if (!error || error[0])
|
||||
if (!weechat_util_parse_int (value, 10, &number))
|
||||
{
|
||||
/*
|
||||
* not a valid number, but we return 1 (OK) to let WeeChat
|
||||
|
||||
@@ -985,9 +985,8 @@ irc_info_infolist_irc_modelist_item_cb (const void *pointer, void *data,
|
||||
struct t_irc_channel *ptr_channel;
|
||||
struct t_irc_modelist *ptr_modelist;
|
||||
struct t_irc_modelist_item *ptr_item;
|
||||
char **argv, *error;
|
||||
int argc;
|
||||
long number;
|
||||
char **argv;
|
||||
int argc, number;
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) pointer;
|
||||
@@ -1029,15 +1028,12 @@ irc_info_infolist_irc_modelist_item_cb (const void *pointer, void *data,
|
||||
}
|
||||
if (!obj_pointer && (argc >= 4))
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (argv[3], &error, 10);
|
||||
if (!error || error[0] || (number < 0))
|
||||
if (!weechat_util_parse_int (argv[3], 10, &number) || (number < 0))
|
||||
{
|
||||
weechat_string_free_split (argv);
|
||||
return NULL;
|
||||
}
|
||||
obj_pointer = irc_modelist_item_search_number (ptr_modelist,
|
||||
(int)number);
|
||||
obj_pointer = irc_modelist_item_search_number (ptr_modelist, number);
|
||||
if (!obj_pointer)
|
||||
{
|
||||
weechat_string_free_split (argv);
|
||||
|
||||
+13
-18
@@ -234,9 +234,8 @@ int
|
||||
irc_list_channel_match_filter (struct t_irc_server *server,
|
||||
struct t_irc_list_channel *channel)
|
||||
{
|
||||
char *error, *result;
|
||||
long number;
|
||||
int match;
|
||||
char *result;
|
||||
int match, number;
|
||||
|
||||
/* no filter? then any channel is matching */
|
||||
if (!server->list->filter)
|
||||
@@ -280,25 +279,22 @@ irc_list_channel_match_filter (struct t_irc_server *server,
|
||||
else if (strncmp (server->list->filter, "u:>", 3) == 0)
|
||||
{
|
||||
/* filter by users (> N)*/
|
||||
error = NULL;
|
||||
number = strtol (server->list->filter + 3, &error, 10);
|
||||
if (error && !error[0] && channel->users > (int)number)
|
||||
if (weechat_util_parse_int (server->list->filter + 3, 10, &number)
|
||||
&& (channel->users > number))
|
||||
return 1;
|
||||
}
|
||||
else if (strncmp (server->list->filter, "u:<", 3) == 0)
|
||||
{
|
||||
/* filter by users (< N)*/
|
||||
error = NULL;
|
||||
number = strtol (server->list->filter + 3, &error, 10);
|
||||
if (error && !error[0] && channel->users < (int)number)
|
||||
if (weechat_util_parse_int (server->list->filter + 3, 10, &number)
|
||||
&& (channel->users < number))
|
||||
return 1;
|
||||
}
|
||||
else if (strncmp (server->list->filter, "u:", 2) == 0)
|
||||
{
|
||||
/* filter by users */
|
||||
error = NULL;
|
||||
number = strtol (server->list->filter + 2, &error, 10);
|
||||
if (error && !error[0] && channel->users >= (int)number)
|
||||
if (weechat_util_parse_int (server->list->filter + 2, 10, &number)
|
||||
&& (channel->users >= number))
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
@@ -375,10 +371,9 @@ int
|
||||
irc_list_parse_messages (struct t_irc_server *server, const char *output)
|
||||
{
|
||||
struct t_irc_list_channel *channel;
|
||||
char **irc_msgs, *command, **params, *error;
|
||||
char **irc_msgs, *command, **params;
|
||||
const char *ptr_name;
|
||||
int i, count_irc_msgs, num_params, length, keep_colors;
|
||||
long number;
|
||||
int i, count_irc_msgs, num_params, length, keep_colors, number;
|
||||
|
||||
if (server->list->channels)
|
||||
{
|
||||
@@ -439,9 +434,9 @@ irc_list_parse_messages (struct t_irc_server *server, const char *output)
|
||||
ptr_name++;
|
||||
}
|
||||
channel->name2 = strdup (ptr_name);
|
||||
error = NULL;
|
||||
number = strtol (params[2], &error, 10);
|
||||
channel->users = (error && !error[0]) ? number : 0;
|
||||
if (!weechat_util_parse_int (params[2], 10, &number))
|
||||
number = 0;
|
||||
channel->users = number;
|
||||
channel->topic = (num_params > 3) ?
|
||||
irc_color_decode (params[3], keep_colors) : NULL;
|
||||
length = weechat_utf8_strlen_screen (channel->name);
|
||||
|
||||
@@ -598,8 +598,7 @@ irc_message_parse_cap_multiline_value (struct t_irc_server *server,
|
||||
{
|
||||
struct t_hashtable *values;
|
||||
const char *ptr_value;
|
||||
char *error;
|
||||
long number;
|
||||
int number;
|
||||
|
||||
if (!server)
|
||||
return;
|
||||
@@ -617,18 +616,14 @@ irc_message_parse_cap_multiline_value (struct t_irc_server *server,
|
||||
ptr_value = (const char *)weechat_hashtable_get (values, "max-bytes");
|
||||
if (ptr_value)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (ptr_value, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (ptr_value, 10, &number))
|
||||
server->multiline_max_bytes = number;
|
||||
}
|
||||
|
||||
ptr_value = (const char *)weechat_hashtable_get (values, "max-lines");
|
||||
if (ptr_value)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (ptr_value, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (ptr_value, 10, &number))
|
||||
server->multiline_max_lines = number;
|
||||
}
|
||||
|
||||
|
||||
@@ -4061,9 +4061,8 @@ IRC_PROTOCOL_CALLBACK(001)
|
||||
|
||||
IRC_PROTOCOL_CALLBACK(005)
|
||||
{
|
||||
char *str_info, *error, *isupport2;
|
||||
int i, arg_last, length_isupport, length, casemapping, utf8mapping;
|
||||
long value;
|
||||
char *str_info, *isupport2;
|
||||
int i, arg_last, length_isupport, length, casemapping, utf8mapping, value;
|
||||
|
||||
IRC_PROTOCOL_MIN_PARAMS(2);
|
||||
|
||||
@@ -4081,34 +4080,26 @@ IRC_PROTOCOL_CALLBACK(005)
|
||||
else if (strncmp (ctxt->params[i], "LINELEN=", 8) == 0)
|
||||
{
|
||||
/* save max message length */
|
||||
error = NULL;
|
||||
value = strtol (ctxt->params[i] + 8, &error, 10);
|
||||
if (error && !error[0] && (value > 0))
|
||||
ctxt->server->msg_max_length = (int)value;
|
||||
if (weechat_util_parse_int (ctxt->params[i] + 8, 10, &value) && (value > 0))
|
||||
ctxt->server->msg_max_length = value;
|
||||
}
|
||||
else if (strncmp (ctxt->params[i], "NICKLEN=", 8) == 0)
|
||||
{
|
||||
/* save max nick length */
|
||||
error = NULL;
|
||||
value = strtol (ctxt->params[i] + 8, &error, 10);
|
||||
if (error && !error[0] && (value > 0))
|
||||
ctxt->server->nick_max_length = (int)value;
|
||||
if (weechat_util_parse_int (ctxt->params[i] + 8, 10, &value) && (value > 0))
|
||||
ctxt->server->nick_max_length = value;
|
||||
}
|
||||
else if (strncmp (ctxt->params[i], "USERLEN=", 8) == 0)
|
||||
{
|
||||
/* save max user length */
|
||||
error = NULL;
|
||||
value = strtol (ctxt->params[i] + 8, &error, 10);
|
||||
if (error && !error[0] && (value > 0))
|
||||
ctxt->server->user_max_length = (int)value;
|
||||
if (weechat_util_parse_int (ctxt->params[i] + 8, 10, &value) && (value > 0))
|
||||
ctxt->server->user_max_length = value;
|
||||
}
|
||||
else if (strncmp (ctxt->params[i], "HOSTLEN=", 8) == 0)
|
||||
{
|
||||
/* save max host length */
|
||||
error = NULL;
|
||||
value = strtol (ctxt->params[i] + 8, &error, 10);
|
||||
if (error && !error[0] && (value > 0))
|
||||
ctxt->server->host_max_length = (int)value;
|
||||
if (weechat_util_parse_int (ctxt->params[i] + 8, 10, &value) && (value > 0))
|
||||
ctxt->server->host_max_length = value;
|
||||
}
|
||||
else if (strncmp (ctxt->params[i], "CASEMAPPING=", 12) == 0)
|
||||
{
|
||||
@@ -4144,10 +4135,8 @@ IRC_PROTOCOL_CALLBACK(005)
|
||||
else if (strncmp (ctxt->params[i], "MONITOR=", 8) == 0)
|
||||
{
|
||||
/* save monitor (limit) */
|
||||
error = NULL;
|
||||
value = strtol (ctxt->params[i] + 8, &error, 10);
|
||||
if (error && !error[0] && (value > 0))
|
||||
ctxt->server->monitor = (int)value;
|
||||
if (weechat_util_parse_int (ctxt->params[i] + 8, 10, &value) && (value > 0))
|
||||
ctxt->server->monitor = value;
|
||||
}
|
||||
else if (strncmp (ctxt->params[i], "CLIENTTAGDENY=", 14) == 0)
|
||||
{
|
||||
|
||||
@@ -404,9 +404,8 @@ irc_redirect_new_with_commands (struct t_irc_server *server,
|
||||
const char *cmd_filter)
|
||||
{
|
||||
struct t_irc_redirect *new_redirect;
|
||||
char **items[4], *item_upper, *pos, *error;
|
||||
int i, j, num_items[4];
|
||||
long value;
|
||||
char **items[4], *item_upper, *pos;
|
||||
int i, j, num_items[4], value;
|
||||
struct t_hashtable *hash_cmd[4];
|
||||
|
||||
new_redirect = malloc (sizeof (*new_redirect));
|
||||
@@ -460,9 +459,7 @@ irc_redirect_new_with_commands (struct t_irc_server *server,
|
||||
if (pos)
|
||||
{
|
||||
pos[0] = '\0';
|
||||
error = NULL;
|
||||
value = strtol (pos + 1, &error, 10);
|
||||
if (!error || error[0])
|
||||
if (!weechat_util_parse_int (pos + 1, 10, &value))
|
||||
value = -1;
|
||||
}
|
||||
item_upper = weechat_string_toupper (items[i][j]);
|
||||
@@ -1257,7 +1254,6 @@ irc_redirect_pattern_hsignal_cb (const void *pointer, void *data,
|
||||
struct t_hashtable *hashtable)
|
||||
{
|
||||
const char *pattern, *str_timeout, *cmd_start, *cmd_stop, *cmd_extra;
|
||||
char *error;
|
||||
int number, timeout;
|
||||
|
||||
/* make C compiler happy */
|
||||
@@ -1295,9 +1291,7 @@ irc_redirect_pattern_hsignal_cb (const void *pointer, void *data,
|
||||
timeout = 0;
|
||||
if (str_timeout && str_timeout[0])
|
||||
{
|
||||
error = NULL;
|
||||
number = (int)strtol (str_timeout, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (str_timeout, 10, &number))
|
||||
timeout = number;
|
||||
}
|
||||
|
||||
@@ -1325,7 +1319,6 @@ irc_redirect_command_hsignal_cb (const void *pointer, void *data,
|
||||
{
|
||||
const char *server, *pattern, *redirect_signal, *str_count, *string;
|
||||
const char *str_timeout, *cmd_filter;
|
||||
char *error;
|
||||
struct t_irc_server *ptr_server;
|
||||
int number, count, timeout;
|
||||
|
||||
@@ -1366,18 +1359,14 @@ irc_redirect_command_hsignal_cb (const void *pointer, void *data,
|
||||
count = 1;
|
||||
if (str_count && str_count[0])
|
||||
{
|
||||
error = NULL;
|
||||
number = (int)strtol (str_count, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (str_count, 10, &number))
|
||||
count = number;
|
||||
}
|
||||
|
||||
timeout = 0;
|
||||
if (str_timeout && str_timeout[0])
|
||||
{
|
||||
error = NULL;
|
||||
number = (int)strtol (str_timeout, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (str_timeout, 10, &number))
|
||||
timeout = number;
|
||||
}
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ irc_sasl_mechanism_scram (struct t_irc_server *server,
|
||||
const char *sasl_password,
|
||||
char **sasl_error)
|
||||
{
|
||||
char *answer_base64, *string, *username, *username2, *data, **attrs, *error;
|
||||
char *answer_base64, *string, *username, *username2, *data, **attrs;
|
||||
char nonce_client[18], nonce_client_base64[24 + 1], *nonce_server;
|
||||
char *salt_base64, *salt, *verifier_base64, *verifier, *attr_error;
|
||||
char *auth_no_proof, *auth_message;
|
||||
@@ -117,10 +117,10 @@ irc_sasl_mechanism_scram (struct t_irc_server *server,
|
||||
char client_signature[512 / 8], client_proof[512 / 8];
|
||||
char client_proof_base64[((512 / 8) * 4) + 1], server_key[512 / 8];
|
||||
char server_signature[512 / 8];
|
||||
int i, rc, length, num_attrs, iterations, salt_size, salted_password_size;
|
||||
int i, rc, length, num_attrs, iterations, number;
|
||||
int salt_size, salted_password_size;
|
||||
int client_key_size, stored_key_size, client_signature_size;
|
||||
int server_key_size, server_signature_size, verifier_size;
|
||||
long number;
|
||||
|
||||
if (!server || !hash_algo || !data_base64 || !sasl_username
|
||||
|| !sasl_password)
|
||||
@@ -202,10 +202,8 @@ irc_sasl_mechanism_scram (struct t_irc_server *server,
|
||||
}
|
||||
else if (strncmp (attrs[i], "i=", 2) == 0)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (attrs[i] + 2, &error, 10);
|
||||
if (error && !error[0])
|
||||
iterations = (int)number;
|
||||
if (weechat_util_parse_int (attrs[i] + 2, 10, &number))
|
||||
iterations = number;
|
||||
}
|
||||
else if (strncmp (attrs[i], "v=", 2) == 0)
|
||||
{
|
||||
|
||||
@@ -676,10 +676,9 @@ int
|
||||
irc_server_set_addresses (struct t_irc_server *server, const char *addresses,
|
||||
int tls)
|
||||
{
|
||||
int rc, i, default_port;
|
||||
char *pos, *error, *addresses_eval;
|
||||
int rc, i, default_port, number;
|
||||
char *pos, *addresses_eval;
|
||||
const char *ptr_addresses;
|
||||
long number;
|
||||
|
||||
if (!server)
|
||||
return 0;
|
||||
@@ -753,19 +752,14 @@ irc_server_set_addresses (struct t_irc_server *server, const char *addresses,
|
||||
server->addresses_count * sizeof (server->retry_array[0]));
|
||||
for (i = 0; i < server->addresses_count; i++)
|
||||
{
|
||||
server->ports_array[i] = default_port;
|
||||
pos = strchr (server->addresses_array[i], '/');
|
||||
if (pos)
|
||||
{
|
||||
pos[0] = 0;
|
||||
pos++;
|
||||
error = NULL;
|
||||
number = strtol (pos, &error, 10);
|
||||
server->ports_array[i] = (error && !error[0]) ?
|
||||
number : default_port;
|
||||
}
|
||||
else
|
||||
{
|
||||
server->ports_array[i] = default_port;
|
||||
if (weechat_util_parse_int (pos, 10, &number))
|
||||
server->ports_array[i] = number;
|
||||
}
|
||||
server->retry_array[i] = 0;
|
||||
}
|
||||
@@ -1518,18 +1512,14 @@ int
|
||||
irc_server_get_max_modes (struct t_irc_server *server)
|
||||
{
|
||||
const char *support_modes;
|
||||
char *error;
|
||||
long number;
|
||||
int max_modes;
|
||||
int max_modes, number;
|
||||
|
||||
max_modes = 4;
|
||||
|
||||
support_modes = irc_server_get_isupport_value (server, "MODES");
|
||||
if (support_modes)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (support_modes, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_int (support_modes, 10, &number))
|
||||
{
|
||||
max_modes = number;
|
||||
if (max_modes < 1)
|
||||
|
||||
@@ -356,11 +356,10 @@ irc_upgrade_read_cb (const void *pointer, void *data,
|
||||
int object_id,
|
||||
struct t_infolist *infolist)
|
||||
{
|
||||
int flags, sock, size, i, index, nicks_count, num_items, utf8mapping;
|
||||
long number;
|
||||
int flags, sock, size, i, index, nicks_count, num_items, number, utf8mapping;
|
||||
long long number_longlong;
|
||||
time_t join_time;
|
||||
char *buf, option_name[64], **nicks, *nick_join, *pos, *error;
|
||||
char **items;
|
||||
char *buf, option_name[64], **nicks, *nick_join, *pos, **items;
|
||||
const char *buffer_name, *str, *nick;
|
||||
struct t_irc_server *ptr_server;
|
||||
struct t_irc_nick *ptr_nick;
|
||||
@@ -521,10 +520,8 @@ irc_upgrade_read_cb (const void *pointer, void *data,
|
||||
"LINELEN");
|
||||
if (str)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (str, &error, 10);
|
||||
if (error && !error[0])
|
||||
irc_upgrade_current_server->msg_max_length = (int)number;
|
||||
if (weechat_util_parse_int (str, 10, &number))
|
||||
irc_upgrade_current_server->msg_max_length = number;
|
||||
}
|
||||
}
|
||||
irc_upgrade_current_server->nick_max_length = weechat_infolist_integer (infolist, "nick_max_length");
|
||||
@@ -540,10 +537,8 @@ irc_upgrade_read_cb (const void *pointer, void *data,
|
||||
"USERLEN");
|
||||
if (str)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (str, &error, 10);
|
||||
if (error && !error[0])
|
||||
irc_upgrade_current_server->user_max_length = (int)number;
|
||||
if (weechat_util_parse_int (str, 10, &number))
|
||||
irc_upgrade_current_server->user_max_length = number;
|
||||
}
|
||||
}
|
||||
/* "host_max_length" is new in WeeChat 2.6 */
|
||||
@@ -558,10 +553,8 @@ irc_upgrade_read_cb (const void *pointer, void *data,
|
||||
"HOSTLEN");
|
||||
if (str)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (str, &error, 10);
|
||||
if (error && !error[0])
|
||||
irc_upgrade_current_server->host_max_length = (int)number;
|
||||
if (weechat_util_parse_int (str, 10, &number))
|
||||
irc_upgrade_current_server->host_max_length = number;
|
||||
}
|
||||
}
|
||||
irc_upgrade_current_server->casemapping = weechat_infolist_integer (infolist, "casemapping");
|
||||
@@ -621,10 +614,8 @@ irc_upgrade_read_cb (const void *pointer, void *data,
|
||||
"MONITOR");
|
||||
if (str)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (str, &error, 10);
|
||||
if (error && !error[0])
|
||||
irc_upgrade_current_server->monitor = (int)number;
|
||||
if (weechat_util_parse_int (str, 10, &number))
|
||||
irc_upgrade_current_server->monitor = number;
|
||||
}
|
||||
}
|
||||
/* "clienttagdeny" is new in WeeChat 3.3 */
|
||||
@@ -771,11 +762,9 @@ irc_upgrade_read_cb (const void *pointer, void *data,
|
||||
pos - nicks[i]);
|
||||
if (nick_join)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (pos + 1, &error, 10);
|
||||
if (error && !error[0])
|
||||
if (weechat_util_parse_longlong (pos + 1, 10, &number_longlong))
|
||||
{
|
||||
join_time = (time_t)number;
|
||||
join_time = (time_t)number_longlong;
|
||||
irc_channel_join_smart_filtered_add (irc_upgrade_current_channel,
|
||||
nick_join,
|
||||
join_time);
|
||||
|
||||
Reference in New Issue
Block a user