ash: parser: Allow newlines within parameter substitution
No binary (build failed)
—
(log yok)
| @@ -11999,8 +11999,11 @@ readtoken1(int c, int syntax, char *eofmark, int striptabs) | |
| CHECKSTRSPACE(4, out); /* permit 4 calls to USTPUTC */ | |
| switch (SIT(c, synstack->syntax)) { | |
| case CNL: /* '\n' */ | |
| - | if (synstack->syntax == BASESYNTAX) |
| + | if (synstack->syntax == BASESYNTAX |
| + | && !synstack->varnest |
| + | ) { |
| goto endword; /* exit outer loop */ | |
| + | } |
| USTPUTC(c, out); | |
| nlprompt(); | |
| c = pgetc(); | |
| @@ -0,0 +1,4 @@ | |
| + | Unquoted: H H |
| + | Quoted: H |
| + | H |
| + | Ok:0 |
| @@ -0,0 +1,7 @@ | |
| + | echo Unquoted: H${$+ |
| + | }H |
| + | |
| + | echo Quoted: "H${$+ |
| + | }H" |
| + | |
| + | echo Ok:$? |
| @@ -0,0 +1,4 @@ | |
| + | Unquoted: H H |
| + | Quoted: H |
| + | H |
| + | Ok:0 |
| @@ -0,0 +1,7 @@ | |
| + | echo Unquoted: H${$+ |
| + | }H |
| + | |
| + | echo Quoted: "H${$+ |
| + | }H" |
| + | |
| + | echo Ok:$? |