Try to squelch the warning about not using the return value of strtoul()
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 8 Jun 2011 04:07:15 +0000 (04:07 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 8 Jun 2011 04:07:15 +0000 (04:07 +0000)
- we really *are* using it just for its side-effects if it fails; its
return value is not the best way to check for failure, as the failure
return values are also valid return values on success.

While we're at it, check for it setting errno, which is one of the
better ways to check for failure.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@37606 f5534014-38df-0310-8fa8-9805f1628bb7

gtk/prefs_dlg.c

index 0503a70dda2620b4469cd68c5323da278dcc32cb..b82bb59321c2e70ca0945617f5f6518b91690c82 100644 (file)
@@ -926,14 +926,16 @@ pref_check(pref_t *pref, gpointer user_data)
   const char *str_val;
   char *p;
   pref_t **badpref = user_data;
+  unsigned long val;
 
   /* Fetch the value of the preference, and check whether it's valid. */
   switch (pref->type) {
 
   case PREF_UINT:
     str_val = gtk_entry_get_text(GTK_ENTRY(pref->control));
-    strtoul(str_val, &p, pref->info.base);
-    if (p == str_val || *p != '\0') {
+    errno = 0;
+    (void) strtoul(str_val, &p, pref->info.base);
+    if (p == str_val || *p != '\0' || errno != 0) {
       *badpref = pref;
       return PREFS_SET_SYNTAX_ERR;      /* number was bad */
     }