Module Name: src Committed By: rillig Date: Mon Nov 23 19:14:24 UTC 2020
Modified Files: src/usr.bin/make: compat.c Log Message: make(1): extract DebugFailedTarget from Compat_RunCommand To generate a diff of this commit: cvs rdiff -u -r1.183 -r1.184 src/usr.bin/make/compat.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/compat.c diff -u src/usr.bin/make/compat.c:1.183 src/usr.bin/make/compat.c:1.184 --- src/usr.bin/make/compat.c:1.183 Sun Nov 15 22:31:03 2020 +++ src/usr.bin/make/compat.c Mon Nov 23 19:14:24 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.183 2020/11/15 22:31:03 rillig Exp $ */ +/* $NetBSD: compat.c,v 1.184 2020/11/23 19:14:24 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -96,7 +96,7 @@ #include "pathnames.h" /* "@(#)compat.c 8.2 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: compat.c,v 1.183 2020/11/15 22:31:03 rillig Exp $"); +MAKE_RCSID("$NetBSD: compat.c,v 1.184 2020/11/23 19:14:24 rillig Exp $"); static GNode *curTarg = NULL; static pid_t compatChild; @@ -159,6 +159,27 @@ CompatInterrupt(int signo) } } +static void +DebugFailedTarget(const char *cmd, GNode *gn) +{ + const char *p = cmd; + debug_printf("\n*** Failed target: %s\n*** Failed command: ", + gn->name); + + /* Replace runs of whitespace with a single space, to reduce + * the amount of whitespace for multi-line command lines. */ + while (*p != '\0') { + if (ch_isspace(*p)) { + debug_printf(" "); + cpp_skip_whitespace(&p); + } else { + debug_printf("%c", *p); + p++; + } + } + debug_printf("\n"); +} + /* Execute the next command for a target. If the command returns an error, * the node's made field is set to ERROR and creation stops. * @@ -373,24 +394,8 @@ Compat_RunCommand(const char *cmdp, GNod } #endif if (status != 0) { - if (DEBUG(ERROR)) { - const char *p = cmd; - debug_printf("\n*** Failed target: %s\n*** Failed command: ", - gn->name); - - /* Replace runs of whitespace with a single space, to reduce - * the amount of whitespace for multi-line command lines. */ - while (*p != '\0') { - if (ch_isspace(*p)) { - debug_printf(" "); - cpp_skip_whitespace(&p); - } else { - debug_printf("%c", *p); - p++; - } - } - debug_printf("\n"); - } + if (DEBUG(ERROR)) + DebugFailedTarget(cmd, gn); printf("*** Error code %d", status); } } else {