From 1961aea305e258ba7ab3910d084451220f55ed44 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 26 Feb 2013 00:36:53 +0100 Subject: move endofname() to libbb Signed-off-by: Denys Vlasenko --- shell/ash.c | 24 +++--------------------- shell/math.c | 12 ------------ shell/math.h | 5 ----- 3 files changed, 3 insertions(+), 38 deletions(-) (limited to 'shell') diff --git a/shell/ash.c b/shell/ash.c index 31fbc550a..0b5111a39 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -385,6 +385,9 @@ static void trace_vprintf(const char *fmt, va_list va); /* ============ Utility functions */ #define xbarrier() do { __asm__ __volatile__ ("": : :"memory"); } while (0) +#define is_name(c) ((c) == '_' || isalpha((unsigned char)(c))) +#define is_in_name(c) ((c) == '_' || isalnum((unsigned char)(c))) + static int isdigit_str9(const char *str) { int maxlen = 9 + 1; /* max 9 digits: 999999999 */ @@ -2008,27 +2011,6 @@ getoptsreset(const char *value) } #endif -/* math.h has these, otherwise define our private copies */ -#if !ENABLE_SH_MATH_SUPPORT -#define is_name(c) ((c) == '_' || isalpha((unsigned char)(c))) -#define is_in_name(c) ((c) == '_' || isalnum((unsigned char)(c))) -/* - * Return the pointer to the first char which is not part of a legal variable name - * (a letter or underscore followed by letters, underscores, and digits). - */ -static const char* -endofname(const char *name) -{ - if (!is_name(*name)) - return name; - while (*++name) { - if (!is_in_name(*name)) - break; - } - return name; -} -#endif - /* * Compares two strings up to the first = or '\0'. The first * string must be terminated by '='; the second may be terminated by diff --git a/shell/math.c b/shell/math.c index 15c003965..3da151137 100644 --- a/shell/math.c +++ b/shell/math.c @@ -494,18 +494,6 @@ static const char op_tokens[] ALIGN1 = { }; #define ptr_to_rparen (&op_tokens[sizeof(op_tokens)-7]) -const char* FAST_FUNC -endofname(const char *name) -{ - if (!is_name(*name)) - return name; - while (*++name) { - if (!is_in_name(*name)) - break; - } - return name; -} - static arith_t FAST_FUNC evaluate_string(arith_state_t *math_state, const char *expr) { diff --git a/shell/math.h b/shell/math.h index 2d305eb12..864bee691 100644 --- a/shell/math.h +++ b/shell/math.h @@ -73,11 +73,6 @@ typedef long arith_t; #define strto_arith_t strtoul #endif -/* ash's and hush's endofname is the same, so... */ -# define is_name(c) ((c) == '_' || isalpha((unsigned char)(c))) -# define is_in_name(c) ((c) == '_' || isalnum((unsigned char)(c))) -const char* FAST_FUNC endofname(const char *name); - 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); -- cgit v1.2.3