← Commit list

8b35f207b

Denys Vlasenko
Denys Vlasenko
2019-05-26
SUCCESS Duration: 165s

Subject

shell: move all definitions of strto_arith_t() together

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/math.c+7 -3
@@ -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;
shell/math.h+0 -8
@@ -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);