aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2019-05-26 14:02:10 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2019-05-26 14:02:10 +0200
commit8b35f207bbd91a5bbca816dbdf5f8f33dd57f19d (patch)
tree8f25306a11f796fa31e9e2a6460addfdd955f39d
parent9501bc7da5f560f3dae6f6a1d2b11efa9d5dfe47 (diff)
downloadbusybox-w32-8b35f207bbd91a5bbca816dbdf5f8f33dd57f19d.tar.gz
busybox-w32-8b35f207bbd91a5bbca816dbdf5f8f33dd57f19d.tar.bz2
busybox-w32-8b35f207bbd91a5bbca816dbdf5f8f33dd57f19d.zip
shell: move all definitions of strto_arith_t() together
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-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 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)
545 *endptr = (char*)nptr; 545 *endptr = (char*)nptr;
546 return n; 546 return n;
547} 547}
548#define strto_arith_t(nptr, endptr, base_is_always_0) \ 548#else /* !ENABLE_FEATURE_SH_MATH_BASE */
549 strto_arith_t(nptr, endptr) 549# if ENABLE_FEATURE_SH_MATH_64
550# define strto_arith_t(nptr, endptr) strtoull(nptr, endptr, 0)
551# else
552# define strto_arith_t(nptr, endptr) strtoul(nptr, endptr, 0)
553# endif
550#endif 554#endif
551 555
552static arith_t FAST_FUNC 556static arith_t FAST_FUNC
@@ -627,7 +631,7 @@ evaluate_string(arith_state_t *math_state, const char *expr)
627 /* Number */ 631 /* Number */
628 numstackptr->var = NULL; 632 numstackptr->var = NULL;
629 errno = 0; 633 errno = 0;
630 numstackptr->val = strto_arith_t(expr, (char**) &expr, 0); 634 numstackptr->val = strto_arith_t(expr, (char**) &expr);
631 if (errno) 635 if (errno)
632 numstackptr->val = 0; /* bash compat */ 636 numstackptr->val = 0; /* bash compat */
633 goto num; 637 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;
71# define ARITH_FMT "%ld" 71# define ARITH_FMT "%ld"
72#endif 72#endif
73 73
74#if !ENABLE_FEATURE_SH_MATH_BASE
75# if ENABLE_FEATURE_SH_MATH_64
76# define strto_arith_t strtoull
77# else
78# define strto_arith_t strtoul
79# endif
80#endif
81
82typedef const char* FAST_FUNC (*arith_var_lookup_t)(const char *name); 74typedef const char* FAST_FUNC (*arith_var_lookup_t)(const char *name);
83typedef void FAST_FUNC (*arith_var_set_t)(const char *name, const char *val); 75typedef void FAST_FUNC (*arith_var_set_t)(const char *name, const char *val);
84//typedef const char* FAST_FUNC (*arith_var_endofname_t)(const char *name); 76//typedef const char* FAST_FUNC (*arith_var_endofname_t)(const char *name);