aboutsummaryrefslogtreecommitdiff
path: root/shell/ash.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/ash.c')
-rw-r--r--shell/ash.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/shell/ash.c b/shell/ash.c
index d82eba15f..ed1a4416c 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12467,10 +12467,12 @@ parsesub: {
12467 pungetc(); 12467 pungetc();
12468 } 12468 }
12469 12469
12470 if (newsyn == ARISYNTAX && subtype > VSNORMAL) 12470 if (newsyn == ARISYNTAX)
12471 newsyn = DQSYNTAX; 12471 newsyn = DQSYNTAX;
12472 12472
12473 if (newsyn != synstack->syntax) { 12473 if ((newsyn != synstack->syntax || synstack->innerdq)
12474 && subtype != VSNORMAL
12475 ) {
12474 synstack_push(&synstack, 12476 synstack_push(&synstack,
12475 synstack->prev ?: alloca(sizeof(*synstack)), 12477 synstack->prev ?: alloca(sizeof(*synstack)),
12476 newsyn); 12478 newsyn);