diff options
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) { |