From: Denys Vlasenko Date: Sun, 26 May 2019 12:02:10 +0000 (+0200) Subject: shell: move all definitions of strto_arith_t() together X-Git-Tag: 1_31_0~31 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8b35f207bbd91a5bbca816dbdf5f8f33dd57f19d;p=oweals%2Fbusybox.git shell: move all definitions of strto_arith_t() together Signed-off-by: Denys Vlasenko --- diff --git a/shell/math.c b/shell/math.c index 2ea0317e9..eaf4f2453 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 ec9decb1f..41ef6e8df 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);