diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2019-05-26 14:02:10 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2019-05-26 14:02:10 +0200 |
| commit | 8b35f207bbd91a5bbca816dbdf5f8f33dd57f19d (patch) | |
| tree | 8f25306a11f796fa31e9e2a6460addfdd955f39d | |
| parent | 9501bc7da5f560f3dae6f6a1d2b11efa9d5dfe47 (diff) | |
| download | busybox-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.c | 10 | ||||
| -rw-r--r-- | shell/math.h | 8 |
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 | ||
| 552 | static arith_t FAST_FUNC | 556 | static 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 | |||
| 82 | typedef const char* FAST_FUNC (*arith_var_lookup_t)(const char *name); | 74 | typedef const char* FAST_FUNC (*arith_var_lookup_t)(const char *name); |
| 83 | typedef void FAST_FUNC (*arith_var_set_t)(const char *name, const char *val); | 75 | typedef 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); |
