diff options
author | Denys Vlasenko | 2010-09-07 12:19:33 +0200 |
---|---|---|
committer | Denys Vlasenko | 2010-09-07 12:19:33 +0200 |
commit | 8b2f13d84def87b4ebd0901bf0c3157bc1f6dee3 (patch) | |
tree | 0bf072d3612c77dd8b0720973e46e8dbc37a040a /shell/math.c | |
parent | 27c56f12670295286a881bbb87d506f0a5bfd40e (diff) | |
download | busybox-8b2f13d84def87b4ebd0901bf0c3157bc1f6dee3.zip busybox-8b2f13d84def87b4ebd0901bf0c3157bc1f6dee3.tar.gz |
shell: unify endofname() in hush and ash
function old new delta
builtin_umask 132 133 +1
changepath 195 194 -1
expand_and_evaluate_arith 77 69 -8
ash_arith 143 135 -8
expand_one_var 1551 1515 -36
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/4 up/down: 1/-53) Total: -52 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'shell/math.c')
-rw-r--r-- | shell/math.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/shell/math.c b/shell/math.c index f0cc2e3..a4c55a4 100644 --- a/shell/math.c +++ b/shell/math.c @@ -122,7 +122,7 @@ #define a_e_h_t arith_eval_hooks_t #define lookupvar (math_hooks->lookupvar) #define setvar (math_hooks->setvar ) -#define endofname (math_hooks->endofname) +//#define endofname (math_hooks->endofname) #define arith_isspace(arithval) \ (arithval == ' ' || arithval == '\n' || arithval == '\t') @@ -479,6 +479,18 @@ static const char op_tokens[] ALIGN1 = { /* ptr to ")" */ #define endexpression (&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; +} + arith_t arith(const char *expr, int *perrcode, a_e_h_t *math_hooks) { |