printf: accept negative numbers for %x; sh: overflowed numbers are 0

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/shell/math.h b/shell/math.h
index 51dbb56..7b7898e 100644
--- a/shell/math.h
+++ b/shell/math.h
@@ -80,11 +80,11 @@
 #if ENABLE_SH_MATH_SUPPORT_64
 typedef long long arith_t;
 #define arith_t_fmt "%lld"
-#define strto_arith_t strtoll
+#define strto_arith_t strtoull
 #else
 typedef long arith_t;
 #define arith_t_fmt "%ld"
-#define strto_arith_t strtol
+#define strto_arith_t strtoul
 #endif
 
 typedef const char *(*arith_var_lookup_t)(const char *name);