ash: fix arithmetic closing )) split by backslash-newline
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
73c3e074df
commit
459293b1c5
@ -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\
|
||||
)\
|
||||
)"
|
Loading…
Reference in New Issue
Block a user