shell: fix arithmentic evaluation of "++7" and such (it is + + 7, i.e. 7)
function old new delta evaluate_string 945 988 +43 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -97,6 +97,7 @@ ghi
|
||||
3 3
|
||||
4 4
|
||||
4 4
|
||||
7 7
|
||||
./arith.tests: line 257: arithmetic syntax error
|
||||
./arith.tests: line 259: arithmetic syntax error
|
||||
./arith.tests: line 260: arithmetic syntax error
|
||||
@@ -105,6 +106,8 @@ ghi
|
||||
4 4
|
||||
7 7
|
||||
-7 -7
|
||||
7
|
||||
7
|
||||
./arith1.sub: line 2: arithmetic syntax error
|
||||
./arith1.sub: line 3: arithmetic syntax error
|
||||
./arith1.sub: line 4: arithmetic syntax error
|
||||
@@ -119,11 +122,12 @@ ghi
|
||||
2 2
|
||||
-2 -2
|
||||
1 1
|
||||
./arith1.sub: line 37: arithmetic syntax error
|
||||
./arith2.sub: line 2: arithmetic syntax error
|
||||
./arith2.sub: line 3: arithmetic syntax error
|
||||
./arith2.sub: line 4: arithmetic syntax error
|
||||
./arith2.sub: line 5: arithmetic syntax error
|
||||
7
|
||||
7
|
||||
7
|
||||
7
|
||||
7
|
||||
7
|
||||
5 5
|
||||
1 1
|
||||
6 6
|
||||
@@ -132,8 +136,10 @@ ghi
|
||||
1 1
|
||||
4 4
|
||||
0 0
|
||||
./arith2.sub: line 42: arithmetic syntax error
|
||||
./arith2.sub: line 47: arithmetic syntax error
|
||||
-7
|
||||
-7
|
||||
7
|
||||
7
|
||||
8 12
|
||||
./arith.tests: line 290: arithmetic syntax error
|
||||
42
|
||||
|
@@ -252,8 +252,8 @@ echo 3 $x
|
||||
echo 4 $(( ++x ))
|
||||
echo 4 $x
|
||||
|
||||
# bash 3.2 apparently thinks that ++7 is 7
|
||||
#ash# echo 7 $(( ++7 ))
|
||||
# ++ is not a inc operator on non-variable, it is the + + sequence
|
||||
echo 7 $(( ++7 ))
|
||||
( echo $(( 7-- )) )
|
||||
|
||||
( echo $(( --x=7 )) )
|
||||
@@ -267,9 +267,9 @@ echo 4 $x
|
||||
echo 7 $(( +7 ))
|
||||
echo -7 $(( -7 ))
|
||||
|
||||
# bash 3.2 apparently thinks that ++7 is 7
|
||||
#ash# echo $(( ++7 ))
|
||||
#ash# echo $(( --7 ))
|
||||
# ++ is not a inc operator on non-variable, it is the + + sequence
|
||||
echo $(( ++7 ))
|
||||
echo $(( --7 ))
|
||||
|
||||
${THIS_SH} ./arith1.sub
|
||||
${THIS_SH} ./arith2.sub
|
||||
|
@@ -35,6 +35,6 @@ echo 1 $a
|
||||
|
||||
#ash# (( ++ ))
|
||||
( echo $(( +++7 )) )
|
||||
# bash 3.2 apparently thinks that ++ +7 is 7
|
||||
#ash# echo $(( ++ + 7 ))
|
||||
# ++ is not a inc operator on non-variable, it is the + + sequence
|
||||
echo $(( ++ + 7 ))
|
||||
#ash# (( -- ))
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# bash 3.2 apparently thinks that ++7 is 7 etc
|
||||
# ++ and -- are not inc/dec operators on non-variables, they are + + and - - sequences
|
||||
( echo $(( --7 )) )
|
||||
( echo $(( ++7 )) )
|
||||
( echo $(( -- 7 )) )
|
||||
@@ -37,13 +37,13 @@ echo 4 $(( 4 - -- a ))
|
||||
echo 0 $a
|
||||
|
||||
#ash# (( -- ))
|
||||
# bash 3.2 apparently thinks that ---7 is -7
|
||||
#ash# echo $(( ---7 ))
|
||||
# -- is not a dec operator on non-variable, it is the - - sequence
|
||||
echo $(( ---7 ))
|
||||
( echo $(( -- - 7 )) )
|
||||
|
||||
#ash# (( ++ ))
|
||||
# bash 3.2: 7
|
||||
#ash# echo 7 $(( ++7 ))
|
||||
# ++ is not a inc operator on non-variable, it is the + + sequence
|
||||
echo $(( ++7 ))
|
||||
( echo $(( ++ + 7 )) )
|
||||
|
||||
# bash 3.2: -7
|
||||
|
Reference in New Issue
Block a user