shell/math: return string error indicator, not integer

function                                             old     new   delta
expand_and_evaluate_arith                             87     106     +19
expand_one_var                                      1563    1570      +7
arith                                                 12      18      +6
evaluate_string                                      678     680      +2
arith_apply                                         1269    1271      +2
builtin_umask                                        133     132      -1
ash_arith                                            118      75     -43
expand_vars_to_list                                 1094    1038     -56
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/3 up/down: 36/-100)           Total: -64 bytes

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
Denys Vlasenko
2010-09-15 13:33:02 +02:00
parent 197a6b3c14
commit 063847d6bd
6 changed files with 113 additions and 131 deletions

View File

@@ -61,7 +61,7 @@ check that the unevaluated part of the ternary operator does not do evaluation o
20 20
30 30
check precedence of assignment vs. conditional operator
hush: error in arithmetic
hush: arithmetic syntax error
check precedence of assignment vs. conditional operator
associativity of assignment-operator operator
6 6
@@ -70,22 +70,22 @@ octal, hex
263 263
255 255
40 40
hush: error in arithmetic
hush: divide by 0
hush: arithmetic syntax error
hush: divide by zero
hush: can't execute 'let': No such file or directory
hush: error in arithmetic
hush: arithmetic syntax error
hush: can't execute 'let': No such file or directory
abc
def
ghi
hush: error in arithmetic
hush: arithmetic syntax error
16 16
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
9 9
hush: error in arithmetic
hush: error in arithmetic
hush: arithmetic syntax error
hush: arithmetic syntax error
9 9
9 9
9 9
@@ -106,18 +106,18 @@ hush: error in arithmetic
3 3
4 4
4 4
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
4 4
7 7
-7 -7
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
6 6
3 3
7 7
@@ -128,19 +128,19 @@ hush: error in arithmetic
2 2
-2 -2
1 1
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: error in arithmetic
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
hush: arithmetic syntax error
5 5
1 1
4 4
0 0
hush: error in arithmetic
hush: error in arithmetic
hush: arithmetic syntax error
hush: arithmetic syntax error
8 12
hush: error in arithmetic
hush: arithmetic syntax error
42
42
42