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.h | |
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.h')
-rw-r--r-- | shell/math.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/shell/math.h b/shell/math.h index 2b0b2b8..96088b4 100644 --- a/shell/math.h +++ b/shell/math.h @@ -87,14 +87,19 @@ 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 char* FAST_FUNC (*arith_var_endofname_t)(const char *name); +//typedef const char* FAST_FUNC (*arith_var_endofname_t)(const char *name); typedef struct arith_eval_hooks { arith_var_lookup_t lookupvar; arith_var_set_t setvar; - arith_var_endofname_t endofname; +// arith_var_endofname_t endofname; } arith_eval_hooks_t; arith_t arith(const char *expr, int *perrcode, arith_eval_hooks_t*); |