Dear folks,
in my attempt to clean up make(1) I stumbled on the following duplicate code.
It was replaced by the cached_stat() addition but the old code was not
removed.
I tested the unit-test and all output is identical as well as are all ATF
tests are still passing.
If there are no objections I'd like to commit these patches,
Reinoud
--------
Index: dir.c
===================================================================
RCS file: /cvsroot/src/usr.bin/make/dir.c,v
retrieving revision 1.71
diff -u -p -r1.71 dir.c
--- dir.c 16 Apr 2017 21:14:47 -0000 1.71
+++ dir.c 11 Jul 2018 18:47:44 -0000
@@ -268,15 +268,6 @@ struct cache_st {
};
/* minimize changes below */
-static time_t
-Hash_GetTimeValue(Hash_Entry *entry)
-{
- struct cache_st *cst;
-
- cst = entry->clientPtr;
- return cst->mtime;
-}
-
#define CST_LSTAT 1
#define CST_UPDATE 2
@@ -1134,7 +1125,6 @@ Dir_FindFile(const char *name, Lst path)
Boolean hasLastDot = FALSE; /* true we should search dot last */
Boolean hasSlash; /* true if 'name' contains a / */
struct stat stb; /* Buffer for stat, if necessary */
- Hash_Entry *entry; /* Entry for mtimes table */
const char *trailing_dot = ".";
/*
@@ -1395,13 +1385,7 @@ Dir_FindFile(const char *name, Lst path)
}
bigmisses += 1;
- entry = Hash_FindEntry(&mtimes, name);
- if (entry != NULL) {
- if (DEBUG(DIR)) {
- fprintf(debug_file, " got it (in mtime cache)\n");
- }
- return(bmake_strdup(name));
- } else if (cached_stat(name, &stb) == 0) {
+ if (cached_stat(name, &stb) == 0) {
if (DEBUG(DIR)) {
fprintf(debug_file, " Caching %s for %s\n", Targ_FmtTime(stb.st_mtime),
name);
@@ -1518,7 +1502,6 @@ Dir_MTime(GNode *gn, Boolean recheck)
{
char *fullName; /* the full pathname of name */
struct stat stb; /* buffer for finding the mod time */
- Hash_Entry *entry;
if (gn->type & OP_ARCHV) {
return Arch_MTime(gn);
@@ -1569,17 +1552,7 @@ Dir_MTime(GNode *gn, Boolean recheck)
fullName = bmake_strdup(gn->name);
}
- if (!recheck)
- entry = Hash_FindEntry(&mtimes, fullName);
- else
- entry = NULL;
- if (entry != NULL) {
- stb.st_mtime = Hash_GetTimeValue(entry);
- if (DEBUG(DIR)) {
- fprintf(debug_file, "Using cached time %s for %s\n",
- Targ_FmtTime(stb.st_mtime), fullName);
- }
- } else if (cached_stats(&mtimes, fullName, &stb, recheck ? CST_UPDATE : 0) < 0) {
+ if (cached_stats(&mtimes, fullName, &stb, recheck ? CST_UPDATE : 0) < 0) {
if (gn->type & OP_MEMBER) {
if (fullName != gn->path)
free(fullName);
Attachment:
signature.asc
Description: PGP signature