mirror of
https://git.busybox.net/busybox.git
synced 2024-11-23 21:53:25 +08:00
shell/math: code shrink
function old new delta evaluate_string 1498 1491 -7 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
8309c9159f
commit
7701b526a7
@ -363,7 +363,6 @@ arith_apply(arith_state_t *math_state, operator op, var_or_num_t *numstack, var_
|
||||
|
||||
/* Pop numstack */
|
||||
NUMSTACKPTR = top_of_stack; /* this decrements NUMSTACKPTR */
|
||||
top_of_stack--; /* now points to left side */
|
||||
|
||||
if (math_state->evaluation_disabled) {
|
||||
dbg("binary op %02x skipped", op);
|
||||
@ -375,6 +374,7 @@ arith_apply(arith_state_t *math_state, operator op, var_or_num_t *numstack, var_
|
||||
*/
|
||||
}
|
||||
|
||||
top_of_stack--; /* now points to left side */
|
||||
right_side_val = rez;
|
||||
rez = top_of_stack->val;
|
||||
if (op == TOK_BOR || op == TOK_OR_ASSIGN)
|
||||
@ -703,9 +703,12 @@ evaluate_string(arith_state_t *math_state, const char *expr)
|
||||
|
||||
if (isdigit(*expr)) {
|
||||
/* Number */
|
||||
char *end;
|
||||
numstackptr->var_name = NULL;
|
||||
errno = 0;
|
||||
numstackptr->val = strto_arith_t(expr, (char**) &expr);
|
||||
end = (char*) expr; /* separate variable to go on stack */
|
||||
numstackptr->val = strto_arith_t(expr, &end);
|
||||
expr = end;
|
||||
dbg("[%d] val:%lld", (int)(numstackptr - numstack), numstackptr->val);
|
||||
/* A number can't be followed by another number, or a variable name.
|
||||
* We'd catch this later anyway, but this would require numstack[]
|
||||
|
Loading…
Reference in New Issue
Block a user