summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/math.c10
-rw-r--r--shell/math.h8
2 files changed, 7 insertions, 11 deletions
diff --git a/shell/math.c b/shell/math.c
index 2ea0317..eaf4f24 100644
--- a/shell/math.c
+++ b/shell/math.c
@@ -545,8 +545,12 @@ static arith_t strto_arith_t(const char *nptr, char **endptr)
*endptr = (char*)nptr;
return n;
}
-#define strto_arith_t(nptr, endptr, base_is_always_0) \
- strto_arith_t(nptr, endptr)
+#else /* !ENABLE_FEATURE_SH_MATH_BASE */
+# if ENABLE_FEATURE_SH_MATH_64
+# define strto_arith_t(nptr, endptr) strtoull(nptr, endptr, 0)
+# else
+# define strto_arith_t(nptr, endptr) strtoul(nptr, endptr, 0)
+# endif
#endif
static arith_t FAST_FUNC
@@ -627,7 +631,7 @@ evaluate_string(arith_state_t *math_state, const char *expr)
/* Number */
numstackptr->var = NULL;
errno = 0;
- numstackptr->val = strto_arith_t(expr, (char**) &expr, 0);
+ numstackptr->val = strto_arith_t(expr, (char**) &expr);
if (errno)
numstackptr->val = 0; /* bash compat */
goto num;
diff --git a/shell/math.h b/shell/math.h
index ec9decb..41ef6e8 100644
--- a/shell/math.h
+++ b/shell/math.h
@@ -71,14 +71,6 @@ typedef long arith_t;
# define ARITH_FMT "%ld"
#endif
-#if !ENABLE_FEATURE_SH_MATH_BASE
-# if ENABLE_FEATURE_SH_MATH_64
-# define strto_arith_t strtoull
-# else
-# define strto_arith_t strtoul
-# endif
-#endif
-
typedef const char* FAST_FUNC (*arith_var_lookup_t)(const char *name);
typedef void FAST_FUNC (*arith_var_set_t)(const char *name, const char *val);
//typedef const char* FAST_FUNC (*arith_var_endofname_t)(const char *name);