Add a strtoul() wrapper
This commit is contained in:
parent
51909edc76
commit
03ec980f26
|
@ -1417,6 +1417,15 @@ set_boolean_if_valid (bool *out, const char *s)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
xstrtoul (unsigned long *out, const char *s, int base)
|
||||||
|
{
|
||||||
|
char *end;
|
||||||
|
errno = 0;
|
||||||
|
*out = strtoul (s, &end, base);
|
||||||
|
return errno == 0 && !*end && end != s;
|
||||||
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
read_line (FILE *fp, struct str *s)
|
read_line (FILE *fp, struct str *s)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1418,10 +1418,8 @@ irc_try_reconnect (struct bot_context *ctx)
|
||||||
const char *delay_str = str_map_find (&ctx->config, "reconnect_delay");
|
const char *delay_str = str_map_find (&ctx->config, "reconnect_delay");
|
||||||
hard_assert (delay_str != NULL); // We have a default value for this
|
hard_assert (delay_str != NULL); // We have a default value for this
|
||||||
|
|
||||||
char *end_ptr;
|
unsigned long delay;
|
||||||
errno = 0;
|
if (!xstrtoul (&delay, delay_str, 10))
|
||||||
long delay = strtol (delay_str, &end_ptr, 10);
|
|
||||||
if (errno != 0 || end_ptr == delay_str || *end_ptr)
|
|
||||||
{
|
{
|
||||||
print_error ("invalid configuration value for `%s'",
|
print_error ("invalid configuration value for `%s'",
|
||||||
"reconnect_delay");
|
"reconnect_delay");
|
||||||
|
|
Loading…
Reference in New Issue