=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/compat.c,v retrieving revision 1.31 retrieving revision 1.32 diff -c -r1.31 -r1.32 *** src/usr.bin/make/compat.c 2000/06/23 16:21:43 1.31 --- src/usr.bin/make/compat.c 2000/06/30 23:26:25 1.32 *************** *** 1,4 **** ! /* $OpenBSD: compat.c,v 1.31 2000/06/23 16:21:43 espie Exp $ */ /* $NetBSD: compat.c,v 1.14 1996/11/06 17:59:01 christos Exp $ */ /* --- 1,4 ---- ! /* $OpenBSD: compat.c,v 1.32 2000/06/30 23:26:25 espie Exp $ */ /* $NetBSD: compat.c,v 1.14 1996/11/06 17:59:01 christos Exp $ */ /* *************** *** 43,49 **** #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else ! static char rcsid[] = "$OpenBSD: compat.c,v 1.31 2000/06/23 16:21:43 espie Exp $"; #endif #endif /* not lint */ --- 43,49 ---- #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else ! static char rcsid[] = "$OpenBSD: compat.c,v 1.32 2000/06/30 23:26:25 espie Exp $"; #endif #endif /* not lint */ *************** *** 206,212 **** char *cmdStart; /* Start of expanded command */ char *cp, *bp = NULL; Boolean silent, /* Don't print command */ ! errCheck; /* Check errors */ int reason; /* Reason for child's death */ int status; /* Description of child's death */ int cpid; /* Child actually found */ --- 206,213 ---- char *cmdStart; /* Start of expanded command */ char *cp, *bp = NULL; Boolean silent, /* Don't print command */ ! errCheck, /* Check errors */ ! doExecute; /* Execute the command */ int reason; /* Reason for child's death */ int status; /* Description of child's death */ int cpid; /* Child actually found */ *************** *** 231,236 **** --- 232,238 ---- #endif silent = gn->type & OP_SILENT; errCheck = !(gn->type & OP_IGNORE); + doExecute = !noExecute; cmdNode = Lst_Member(&gn->commands, cmd); cmdStart = Var_Subst(cmd, &gn->context, FALSE); *************** *** 259,271 **** return 1; } ! while ((*cmd == '@') || (*cmd == '-')) { ! if (*cmd == '@') { silent = TRUE; ! } else { errCheck = FALSE; ! } ! cmd++; } while (isspace((unsigned char)*cmd)) --- 261,275 ---- return 1; } ! for (;; cmd++) { ! if (*cmd == '@') silent = TRUE; ! else if (*cmd == '-') errCheck = FALSE; ! else if (*cmd == '+') ! doExecute = TRUE; ! else ! break; } while (isspace((unsigned char)*cmd)) *************** *** 293,299 **** * If we're not supposed to execute any commands, this is as far as * we go... */ ! if (noExecute) return 1; if (*cp != '\0') { --- 297,303 ---- * If we're not supposed to execute any commands, this is as far as * we go... */ ! if (!doExecute) return 1; if (*cp != '\0') {