ash: save a few bytes in code to parse case statements
authorRon Yorston <rmy@pobox.com>
Mon, 3 Aug 2015 12:46:25 +0000 (13:46 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 29 Oct 2015 18:36:08 +0000 (19:36 +0100)
Based on commit 49b82fc from git://git.kernel.org/pub/scm/utils/dash/dash.git
by Herbert Xu.

function                                             old     new   delta
parse_command                                       1563    1555      -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-8)               Total: -8 bytes

Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
shell/ash.c

index 3339666b9db0232c740c9911655b395054bf73a6..18c7ff523f12cfc17b39947f72bd3c00d3c6b50b 100644 (file)
@@ -10959,10 +10959,8 @@ parse_command(void)
                /*n2->narg.next = NULL; - stzalloc did it */
                n2->narg.text = wordtext;
                n2->narg.backquote = backquotelist;
-               do {
-                       checkkwd = CHKKWD | CHKALIAS;
-               } while (readtoken() == TNL);
-               if (lasttoken != TIN)
+               checkkwd = CHKNL | CHKKWD | CHKALIAS;
+               if (readtoken() != TIN)
                        raise_error_unexpected_syntax(TIN);
                cpp = &n1->ncase.cases;
  next_case: