Module Name: src Committed By: rillig Date: Thu Aug 13 03:33:56 UTC 2020
Modified Files: src/usr.bin/make: dir.c Log Message: make(1): clean up debug logging in dir.c In C90, the variadic macro argument __VA_ARGS__ is not known, therefore fall back to the forms listing the number of actual printf arguments. To generate a diff of this commit: cvs rdiff -u -r1.91 -r1.92 src/usr.bin/make/dir.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/dir.c diff -u src/usr.bin/make/dir.c:1.91 src/usr.bin/make/dir.c:1.92 --- src/usr.bin/make/dir.c:1.91 Thu Aug 13 03:07:49 2020 +++ src/usr.bin/make/dir.c Thu Aug 13 03:33:56 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: dir.c,v 1.91 2020/08/13 03:07:49 rillig Exp $ */ +/* $NetBSD: dir.c,v 1.92 2020/08/13 03:33:56 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: dir.c,v 1.91 2020/08/13 03:07:49 rillig Exp $"; +static char rcsid[] = "$NetBSD: dir.c,v 1.92 2020/08/13 03:33:56 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)dir.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: dir.c,v 1.91 2020/08/13 03:07:49 rillig Exp $"); +__RCSID("$NetBSD: dir.c,v 1.92 2020/08/13 03:33:56 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -147,6 +147,17 @@ __RCSID("$NetBSD: dir.c,v 1.91 2020/08/1 #include "dir.h" #include "job.h" + +#define DIR_DEBUG0(fmt) \ + if (!DEBUG(DIR)) (void) 0; else fprintf(debug_file, fmt) + +#define DIR_DEBUG1(fmt, arg1) \ + if (!DEBUG(DIR)) (void) 0; else fprintf(debug_file, fmt, arg1) + +#define DIR_DEBUG2(fmt, arg1, arg2) \ + if (!DEBUG(DIR)) (void) 0; else fprintf(debug_file, fmt, arg1, arg2) + + /* * A search path consists of a Lst of Path structures. A Path structure * has in it the name of the directory and a hash table of all the files @@ -296,10 +307,8 @@ cached_stats(Hash_Table *htp, const char st->st_mode = cst->mode; st->st_mtime = (flags & CST_LSTAT) ? cst->lmtime : cst->mtime; if (st->st_mtime) { - if (DEBUG(DIR)) { - fprintf(debug_file, "Using cached time %s for %s\n", - Targ_FmtTime(st->st_mtime), pathname); - } + DIR_DEBUG2("Using cached time %s for %s\n", + Targ_FmtTime(st->st_mtime), pathname); return 0; } } @@ -324,10 +333,8 @@ cached_stats(Hash_Table *htp, const char cst->mtime = st->st_mtime; } cst->mode = st->st_mode; - if (DEBUG(DIR)) { - fprintf(debug_file, " Caching %s for %s\n", - Targ_FmtTime(st->st_mtime), pathname); - } + DIR_DEBUG2(" Caching %s for %s\n", + Targ_FmtTime(st->st_mtime), pathname); return 0; } @@ -814,20 +821,8 @@ DirExpandInt(const char *word, Lst path, } } -/*- - *----------------------------------------------------------------------- - * DirPrintWord -- - * Print a word in the list of expansions. Callback for Dir_Expand - * when DEBUG(DIR), via Lst_ForEach. - * - * Results: - * === 0 - * - * Side Effects: - * The passed word is printed, followed by a space. - * - *----------------------------------------------------------------------- - */ +/* Print a word in the list of expansions. + * Callback for Dir_Expand when DEBUG(DIR), via Lst_ForEach. */ static int DirPrintWord(void *word, void *dummy MAKE_ATTR_UNUSED) { @@ -862,9 +857,7 @@ Dir_Expand(const char *word, Lst path, L { const char *cp; - if (DEBUG(DIR)) { - fprintf(debug_file, "Expanding \"%s\"... ", word); - } + DIR_DEBUG1("Expanding \"%s\"... ", word); cp = strchr(word, '{'); if (cp) { @@ -891,13 +884,12 @@ Dir_Expand(const char *word, Lst path, L /* * Back up to the start of the component */ - char *dirpath; - while (cp > word && *cp != '/') { cp--; } if (cp != word) { char sc; + char *dirpath; /* * If the glob isn't in the first component, try and find * all the components up to the one with a wildcard. @@ -971,17 +963,13 @@ DirLookup(Path *p, const char *name MAKE { char *file; /* the current filename to check */ - if (DEBUG(DIR)) { - fprintf(debug_file, " %s ...\n", p->name); - } + DIR_DEBUG1(" %s ...\n", p->name); if (Hash_FindEntry(&p->files, cp) == NULL) return NULL; file = str_concat3(p->name, "/", cp); - if (DEBUG(DIR)) { - fprintf(debug_file, " returning %s\n", file); - } + DIR_DEBUG1(" returning %s\n", file); p->hits += 1; hits += 1; return file; @@ -1017,9 +1005,7 @@ DirLookupSubdir(Path *p, const char *nam file = bmake_strdup(name); } - if (DEBUG(DIR)) { - fprintf(debug_file, "checking %s ...\n", file); - } + DIR_DEBUG1("checking %s ...\n", file); if (cached_stat(file, &stb) == 0) { nearmisses += 1; @@ -1050,9 +1036,7 @@ DirLookupAbs(Path *p, const char *name, char *p1; /* pointer into p->name */ const char *p2; /* pointer into name */ - if (DEBUG(DIR)) { - fprintf(debug_file, " %s ...\n", p->name); - } + DIR_DEBUG1(" %s ...\n", p->name); /* * If the file has a leading path component and that component @@ -1068,18 +1052,14 @@ DirLookupAbs(Path *p, const char *name, } if (Hash_FindEntry(&p->files, cp) == NULL) { - if (DEBUG(DIR)) { - fprintf(debug_file, " must be here but isn't -- returning\n"); - } + DIR_DEBUG0(" must be here but isn't -- returning\n"); /* Return empty string: terminates search */ return bmake_strdup(""); } p->hits += 1; hits += 1; - if (DEBUG(DIR)) { - fprintf(debug_file, " returning %s\n", name); - } + DIR_DEBUG1(" returning %s\n", name); return bmake_strdup(name); } @@ -1101,17 +1081,13 @@ DirFindDot(Boolean hasSlash MAKE_ATTR_UN { if (Hash_FindEntry(&dot->files, cp) != NULL) { - if (DEBUG(DIR)) { - fprintf(debug_file, " in '.'\n"); - } + DIR_DEBUG0(" in '.'\n"); hits += 1; dot->hits += 1; return bmake_strdup(name); } if (cur && Hash_FindEntry(&cur->files, cp) != NULL) { - if (DEBUG(DIR)) { - fprintf(debug_file, " in ${.CURDIR} = %s\n", cur->name); - } + DIR_DEBUG1(" in ${.CURDIR} = %s\n", cur->name); hits += 1; cur->hits += 1; return str_concat3(cur->name, "/", cp); @@ -1167,14 +1143,10 @@ Dir_FindFile(const char *name, Lst path) cp = name; } - if (DEBUG(DIR)) { - fprintf(debug_file, "Searching for %s ...", name); - } + DIR_DEBUG1("Searching for %s ...", name); if (Lst_Open(path) == FAILURE) { - if (DEBUG(DIR)) { - fprintf(debug_file, "couldn't open path, file not found\n"); - } + DIR_DEBUG0("couldn't open path, file not found\n"); misses += 1; return NULL; } @@ -1183,13 +1155,10 @@ Dir_FindFile(const char *name, Lst path) p = (Path *)Lst_Datum(ln); if (p == dotLast) { hasLastDot = TRUE; - if (DEBUG(DIR)) - fprintf(debug_file, "[dot last]..."); + DIR_DEBUG0("[dot last]..."); } } - if (DEBUG(DIR)) { - fprintf(debug_file, "\n"); - } + DIR_DEBUG0("\n"); /* * If there's no leading directory components or if the leading @@ -1248,9 +1217,7 @@ Dir_FindFile(const char *name, Lst path) * This phase is only performed if the file is *not* absolute. */ if (!hasSlash) { - if (DEBUG(DIR)) { - fprintf(debug_file, " failed.\n"); - } + DIR_DEBUG0(" failed.\n"); misses += 1; return NULL; } @@ -1263,9 +1230,7 @@ Dir_FindFile(const char *name, Lst path) if (name[0] != '/') { Boolean checkedDot = FALSE; - if (DEBUG(DIR)) { - fprintf(debug_file, " Trying subdirectories...\n"); - } + DIR_DEBUG0(" Trying subdirectories...\n"); if (!hasLastDot) { if (dot) { @@ -1309,9 +1274,7 @@ Dir_FindFile(const char *name, Lst path) * Already checked by the given name, since . was in the path, * so no point in proceeding... */ - if (DEBUG(DIR)) { - fprintf(debug_file, " Checked . already, returning NULL\n"); - } + DIR_DEBUG0(" Checked . already, returning NULL\n"); return NULL; } @@ -1326,9 +1289,7 @@ Dir_FindFile(const char *name, Lst path) * file does not exist at all. This is signified by DirLookupAbs() * returning an empty string. */ - if (DEBUG(DIR)) { - fprintf(debug_file, " Trying exact path matches...\n"); - } + DIR_DEBUG0(" Trying exact path matches...\n"); if (!hasLastDot && cur && ((file = DirLookupAbs(cur, name, cp)) != NULL)) { @@ -1405,18 +1366,14 @@ Dir_FindFile(const char *name, Lst path) return NULL; } #else /* !notdef */ - if (DEBUG(DIR)) { - fprintf(debug_file, " Looking for \"%s\" ...\n", name); - } + DIR_DEBUG1(" Looking for \"%s\" ...\n", name); bigmisses += 1; if (cached_stat(name, &stb) == 0) { return bmake_strdup(name); } - if (DEBUG(DIR)) { - fprintf(debug_file, " failed. Returning NULL\n"); - } + DIR_DEBUG0(" failed. Returning NULL\n"); return NULL; #endif /* notdef */ } @@ -1562,9 +1519,8 @@ Dir_MTime(GNode *gn, Boolean recheck) } } } - if (DEBUG(DIR)) - fprintf(debug_file, "Found '%s' as '%s'\n", - gn->name, fullName ? fullName : "(not found)"); + DIR_DEBUG2("Found '%s' as '%s'\n", + gn->name, fullName ? fullName : "(not found)"); } } else { fullName = gn->path; @@ -1639,9 +1595,7 @@ Dir_AddDir(Lst path, const char *name) (void)Lst_AtEnd(path, p); } } else { - if (DEBUG(DIR)) { - fprintf(debug_file, "Caching %s ...", name); - } + DIR_DEBUG1("Caching %s ...", name); if ((d = opendir(name)) != NULL) { p = bmake_malloc(sizeof(Path)); @@ -1668,9 +1622,7 @@ Dir_AddDir(Lst path, const char *name) if (path != NULL) (void)Lst_AtEnd(path, p); } - if (DEBUG(DIR)) { - fprintf(debug_file, "done\n"); - } + DIR_DEBUG0("done\n"); } return p; }