diff options
Diffstat (limited to 'shell/ash.c')
-rw-r--r-- | shell/ash.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/shell/ash.c b/shell/ash.c index ee7642a64..33a477d80 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -11316,9 +11316,9 @@ readtoken1(int c, int syntax, char *eofmark, int striptabs) | |||
11316 | parenlevel--; | 11316 | parenlevel--; |
11317 | } else { | 11317 | } else { |
11318 | if (pgetc() == ')') { | 11318 | if (pgetc() == ')') { |
11319 | c = CTLENDARI; | ||
11319 | if (--arinest == 0) { | 11320 | if (--arinest == 0) { |
11320 | syntax = prevsyntax; | 11321 | syntax = prevsyntax; |
11321 | c = CTLENDARI; | ||
11322 | } | 11322 | } |
11323 | } else { | 11323 | } else { |
11324 | /* | 11324 | /* |
@@ -11809,18 +11809,12 @@ parsearith: { | |||
11809 | if (++arinest == 1) { | 11809 | if (++arinest == 1) { |
11810 | prevsyntax = syntax; | 11810 | prevsyntax = syntax; |
11811 | syntax = ARISYNTAX; | 11811 | syntax = ARISYNTAX; |
11812 | USTPUTC(CTLARI, out); | ||
11813 | if (dblquote) | ||
11814 | USTPUTC('"', out); | ||
11815 | else | ||
11816 | USTPUTC(' ', out); | ||
11817 | } else { | ||
11818 | /* | ||
11819 | * we collapse embedded arithmetic expansion to | ||
11820 | * parenthesis, which should be equivalent | ||
11821 | */ | ||
11822 | USTPUTC('(', out); | ||
11823 | } | 11812 | } |
11813 | USTPUTC(CTLARI, out); | ||
11814 | if (dblquote) | ||
11815 | USTPUTC('"', out); | ||
11816 | else | ||
11817 | USTPUTC(' ', out); | ||
11824 | goto parsearith_return; | 11818 | goto parsearith_return; |
11825 | } | 11819 | } |
11826 | #endif | 11820 | #endif |