diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | src/parser.c | 6 |
2 files changed, 3 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index d7e0f79..2c955e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ * Remove EXSIG. * Do not close stderr when /dev/tty fails to open. * Allow newlines after var name in for statements. + * Use CHKNL to parse case statements. 2009-01-14 Herbert Xu <herbert@gondor.apana.org.au> diff --git a/src/parser.c b/src/parser.c index 425c457..dad1037 100644 --- a/src/parser.c +++ b/src/parser.c @@ -402,10 +402,8 @@ TRACE(("expecting DO got %s %s\n", tokname[got], got == TWORD ? wordtext : "")); n2->narg.text = wordtext; n2->narg.backquote = backquotelist; n2->narg.next = NULL; - do { - checkkwd = CHKKWD | CHKALIAS; - } while (readtoken() == TNL); - if (lasttoken != TIN) + checkkwd = CHKNL | CHKKWD | CHKALIAS; + if (readtoken() != TIN) synexpect(TIN); cpp = &n1->ncase.cases; next_case: |