ash: fix arithmetic closing )) split by backslash-newline
No binary (build failed)
—
(log yok)
| @@ -11437,7 +11437,7 @@ readtoken1(int c, int syntax, char *eofmark, int striptabs) | |
| if (parenlevel > 0) { | |
| parenlevel--; | |
| } else { | |
| - | if (pgetc() == ')') { |
| + | if (pgetc_eatbnl() == ')') { |
| c = CTLENDARI; | |
| if (--arinest == 0) { | |
| syntax = prevsyntax; | |
| @@ -11464,6 +11464,7 @@ readtoken1(int c, int syntax, char *eofmark, int striptabs) | |
| if (varnest == 0) { | |
| #if ENABLE_ASH_BASH_COMPAT | |
| if (c == '&') { | |
| + | //Can't call pgetc_eatbnl() here, this requires three-deep pungetc() |
| if (pgetc() == '>') | |
| c = 0x100 + '>'; /* flag &> */ | |
| pungetc(); | |
| @@ -1,3 +1,7 @@ | |
| Ok | |
| Ba d | |
| Ok | |
| + | Ok |
| + | Ok |
| + | Forty two:42 |
| + | Forty two:42 |
| @@ -13,3 +13,23 @@ d' | |
| eval $e | |
| # "Ok" | |
| eval "$e" | |
| + | |
| + | echo $\ |
| + | (echo Ok\ |
| + | ) |
| + | echo "$\ |
| + | (echo Ok\ |
| + | )" |
| + | |
| + | echo Forty two:$\ |
| + | (\ |
| + | (\ |
| + | 42\ |
| + | )\ |
| + | ) |
| + | echo "Forty two:$\ |
| + | (\ |
| + | (\ |
| + | 42\ |
| + | )\ |
| + | )" |
| @@ -1,3 +1,7 @@ | |
| Ok | |
| Ba d | |
| Ok | |
| + | Ok |
| + | Ok |
| + | Forty two:42 |
| + | Forty two:42 |
| @@ -13,3 +13,23 @@ d' | |
| eval $e | |
| # "Ok" | |
| eval "$e" | |
| + | |
| + | echo $\ |
| + | (echo Ok\ |
| + | ) |
| + | echo "$\ |
| + | (echo Ok\ |
| + | )" |
| + | |
| + | echo Forty two:$\ |
| + | (\ |
| + | (\ |
| + | 42\ |
| + | )\ |
| + | ) |
| + | echo "Forty two:$\ |
| + | (\ |
| + | (\ |
| + | 42\ |
| + | )\ |
| + | )" |