summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sdtui.c6
-rw-r--r--src/utils.c4
-rw-r--r--src/utils.h3
3 files changed, 6 insertions, 7 deletions
diff --git a/src/sdtui.c b/src/sdtui.c
index 4961928..8456fb2 100644
--- a/src/sdtui.c
+++ b/src/sdtui.c
@@ -1350,10 +1350,8 @@ on_watch_primary_selection (G_GNUC_UNUSED const gchar *option_name,
return TRUE;
}
- char *end;
- errno = 0;
- long timer = strtol (value, &end, 10);
- if (errno || *end || end == value || timer <= 0 || timer > G_MAXINT)
+ unsigned long timer;
+ if (!xstrtoul (&timer, value, 10) || !timer || timer > G_MAXINT)
{
g_set_error (error, G_OPTION_ERROR, G_OPTION_ERROR_FAILED,
_("Invalid timer value"));
diff --git a/src/utils.c b/src/utils.c
index b7aa5da..7af0c2f 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -1,7 +1,7 @@
/*
* utils.c: miscellaneous utilities
*
- * Copyright (c) 2013, Přemysl Janouch <p.janouch@gmail.com>
+ * Copyright (c) 2013 - 2015, Přemysl Janouch <p.janouch@gmail.com>
* All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -71,7 +71,7 @@ stream_read_string (GDataInputStream *dis, GError **error)
return s;
}
-static bool
+gboolean
xstrtoul (unsigned long *out, const char *s, int base)
{
char *end;
diff --git a/src/utils.h b/src/utils.h
index c3bdd84..8e43995 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -1,7 +1,7 @@
/*
* utils.h: miscellaneous utilities
*
- * Copyright (c) 2013, Přemysl Janouch <p.janouch@gmail.com>
+ * Copyright (c) 2013 - 2015, Přemysl Janouch <p.janouch@gmail.com>
* All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -40,6 +40,7 @@
gboolean stream_read_all (GByteArray *ba, GInputStream *is, GError **error);
gchar *stream_read_string (GDataInputStream *dis, GError **error);
+gboolean xstrtoul (unsigned long *out, const char *s, int base);
void update_curses_terminal_size (void);
#endif /* ! UTILS_H */