Module Name: src Committed By: rillig Date: Sun Nov 28 21:46:17 UTC 2021
Modified Files: src/usr.bin/make: dir.c Log Message: make: eliminate CachedStatsFlags Having two boolean flags as parameters should be easier to understand than bit manipulations. The variable names now match more directly. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.274 -r1.275 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.274 src/usr.bin/make/dir.c:1.275 --- src/usr.bin/make/dir.c:1.274 Sun Nov 28 19:51:06 2021 +++ src/usr.bin/make/dir.c Sun Nov 28 21:46:17 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: dir.c,v 1.274 2021/11/28 19:51:06 rillig Exp $ */ +/* $NetBSD: dir.c,v 1.275 2021/11/28 21:46:17 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -138,7 +138,7 @@ #include "job.h" /* "@(#)dir.c 8.2 (Berkeley) 1/2/94" */ -MAKE_RCSID("$NetBSD: dir.c,v 1.274 2021/11/28 19:51:06 rillig Exp $"); +MAKE_RCSID("$NetBSD: dir.c,v 1.275 2021/11/28 21:46:17 rillig Exp $"); /* * A search path is a list of CachedDir structures. A CachedDir has in it the @@ -246,12 +246,6 @@ typedef struct OpenDirs { HashTable /* of CachedDirListNode */ table; } OpenDirs; -typedef enum CachedStatsFlags { - CST_NONE = 0, - CST_LSTAT = 1 << 0, /* call lstat(2) instead of stat(2) */ - CST_UPDATE = 1 << 1 /* ignore existing cached entry */ -} CachedStatsFlags; - SearchPath dirSearchPath = { LST_INIT }; /* main search path */ @@ -419,9 +413,9 @@ OpenDirs_Remove(OpenDirs *odirs, const c */ static int cached_stats(const char *pathname, struct cached_stat *out_cst, - CachedStatsFlags flags) + bool useLstat, bool forceRefresh) { - HashTable *tbl = flags & CST_LSTAT ? &lmtimes : &mtimes; + HashTable *tbl = useLstat ? &lmtimes : &mtimes; struct stat sys_st; struct cached_stat *cst; int rc; @@ -430,14 +424,14 @@ cached_stats(const char *pathname, struc return -1; /* This can happen in meta mode. */ cst = HashTable_FindValue(tbl, pathname); - if (cst != NULL && !(flags & CST_UPDATE)) { + if (cst != NULL && !forceRefresh) { *out_cst = *cst; DEBUG2(DIR, "Using cached time %s for %s\n", Targ_FmtTime(cst->cst_mtime), pathname); return 0; } - rc = (flags & CST_LSTAT ? lstat : stat)(pathname, &sys_st); + rc = (useLstat ? lstat : stat)(pathname, &sys_st); if (rc == -1) return -1; /* don't cache negative lookups */ @@ -462,13 +456,13 @@ cached_stats(const char *pathname, struc int cached_stat(const char *pathname, struct cached_stat *cst) { - return cached_stats(pathname, cst, CST_NONE); + return cached_stats(pathname, cst, false, false); } int cached_lstat(const char *pathname, struct cached_stat *cst) { - return cached_stats(pathname, cst, CST_LSTAT); + return cached_stats(pathname, cst, true, false); } /* Initialize the directories module. */ @@ -1470,7 +1464,7 @@ ResolveFullName(GNode *gn) * The found file is stored in gn->path, unless the node already had a path. */ void -Dir_UpdateMTime(GNode *gn, bool recheck) +Dir_UpdateMTime(GNode *gn, bool forceRefresh) { char *fullName; struct cached_stat cst; @@ -1487,7 +1481,7 @@ Dir_UpdateMTime(GNode *gn, bool recheck) fullName = ResolveFullName(gn); - if (cached_stats(fullName, &cst, recheck ? CST_UPDATE : CST_NONE) < 0) { + if (cached_stats(fullName, &cst, false, forceRefresh) < 0) { if (gn->type & OP_MEMBER) { if (fullName != gn->path) free(fullName);