sh: There cannot be a TNOT in simplecmd(), remove checks.

simplecmd() only handles simple commands and function definitions, neither
of which involves the ! keyword. The initial token on entry to simplecmd()
is one of the following: TSEMI, TAND, TOR, TNL, TEOF, TWORD, TRP.
This commit is contained in:
Jilles Tjoelker 2010-07-14 22:31:45 +00:00
parent a5ad2f1541
commit d5af15eabf
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=210087

View File

@ -609,8 +609,7 @@ simplecmd(union node **rpp, union node *redir)
{
union node *args, **app;
union node **orig_rpp = rpp;
union node *n = NULL, *n2;
int negate = 0;
union node *n = NULL;
/* If we don't have any redirections already, then we must reset */
/* rpp to be the address of the local redir variable. */
@ -626,12 +625,6 @@ simplecmd(union node **rpp, union node *redir)
*/
orig_rpp = rpp;
while (readtoken() == TNOT) {
TRACE(("command: TNOT recognized\n"));
negate = !negate;
}
tokpushback++;
for (;;) {
if (readtoken() == TWORD) {
n = (union node *)stalloc(sizeof (struct narg));
@ -657,7 +650,7 @@ simplecmd(union node **rpp, union node *redir)
n->type = NDEFUN;
n->narg.next = command();
funclinno = 0;
goto checkneg;
return n;
} else {
tokpushback++;
break;
@ -670,16 +663,7 @@ simplecmd(union node **rpp, union node *redir)
n->ncmd.backgnd = 0;
n->ncmd.args = args;
n->ncmd.redirect = redir;
checkneg:
if (negate) {
n2 = (union node *)stalloc(sizeof (struct nnot));
n2->type = NNOT;
n2->nnot.com = n;
return n2;
}
else
return n;
return n;
}
STATIC union node *