summaryrefslogtreecommitdiff
path: root/shell/math.c
diff options
context:
space:
mode:
authorDenys Vlasenko2010-09-07 12:19:33 +0200
committerDenys Vlasenko2010-09-07 12:19:33 +0200
commit8b2f13d84def87b4ebd0901bf0c3157bc1f6dee3 (patch)
tree0bf072d3612c77dd8b0720973e46e8dbc37a040a /shell/math.c
parent27c56f12670295286a881bbb87d506f0a5bfd40e (diff)
downloadbusybox-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.c14
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)
{