]> granicus.if.org Git - neomutt/commitdiff
tidy: mutt_str_atoui()
authorRichard Russon <rich@flatcap.org>
Wed, 24 Apr 2019 18:20:41 +0000 (19:20 +0100)
committerRichard Russon <rich@flatcap.org>
Wed, 24 Apr 2019 20:22:20 +0000 (21:22 +0100)
mutt/string.c

index 0bc734553bb7c433787499989781c63aa9e7bfbe..4fd38b91a60b65bb9622d3bad226a27ff6239d55 100644 (file)
@@ -291,20 +291,19 @@ int mutt_str_atoi(const char *str, int *dst)
  */
 int mutt_str_atoui(const char *str, unsigned int *dst)
 {
-  int rc;
-  unsigned long res = 0;
-  unsigned int tmp = 0;
-  unsigned int *t = dst ? dst : &tmp;
-
-  *t = 0;
+  if (dst)
+    *dst = 0;
 
-  rc = mutt_str_atoul(str, &res);
+  unsigned long res = 0;
+  int rc = mutt_str_atoul(str, &res);
   if (rc < 0)
     return rc;
-  if ((unsigned int) res != res)
+  if (res > UINT_MAX)
     return -2;
 
-  *t = (unsigned int) res;
+  if (dst)
+    *dst = (unsigned int) res;
+
   return rc;
 }