version 1.31, 2000/06/23 16:21:43 |
version 1.32, 2000/06/30 23:26:25 |
|
|
char *cmdStart; /* Start of expanded command */ |
char *cmdStart; /* Start of expanded command */ |
char *cp, *bp = NULL; |
char *cp, *bp = NULL; |
Boolean silent, /* Don't print command */ |
Boolean silent, /* Don't print command */ |
errCheck; /* Check errors */ |
errCheck, /* Check errors */ |
|
doExecute; /* Execute the command */ |
int reason; /* Reason for child's death */ |
int reason; /* Reason for child's death */ |
int status; /* Description of child's death */ |
int status; /* Description of child's death */ |
int cpid; /* Child actually found */ |
int cpid; /* Child actually found */ |
|
|
#endif |
#endif |
silent = gn->type & OP_SILENT; |
silent = gn->type & OP_SILENT; |
errCheck = !(gn->type & OP_IGNORE); |
errCheck = !(gn->type & OP_IGNORE); |
|
doExecute = !noExecute; |
|
|
cmdNode = Lst_Member(&gn->commands, cmd); |
cmdNode = Lst_Member(&gn->commands, cmd); |
cmdStart = Var_Subst(cmd, &gn->context, FALSE); |
cmdStart = Var_Subst(cmd, &gn->context, FALSE); |
|
|
return 1; |
return 1; |
} |
} |
|
|
while ((*cmd == '@') || (*cmd == '-')) { |
for (;; cmd++) { |
if (*cmd == '@') { |
if (*cmd == '@') |
silent = TRUE; |
silent = TRUE; |
} else { |
else if (*cmd == '-') |
errCheck = FALSE; |
errCheck = FALSE; |
} |
else if (*cmd == '+') |
cmd++; |
doExecute = TRUE; |
|
else |
|
break; |
} |
} |
|
|
while (isspace((unsigned char)*cmd)) |
while (isspace((unsigned char)*cmd)) |
|
|
* If we're not supposed to execute any commands, this is as far as |
* If we're not supposed to execute any commands, this is as far as |
* we go... |
* we go... |
*/ |
*/ |
if (noExecute) |
if (!doExecute) |
return 1; |
return 1; |
|
|
if (*cp != '\0') { |
if (*cp != '\0') { |