Module Name: src Committed By: rillig Date: Sun Aug 23 16:58:03 UTC 2020
Modified Files: src/usr.bin/make: arch.c cond.c dir.c lst.c lst.h main.c meta.c suff.c Log Message: make(1): reverse order of the Lst_Find parameters The other callbacks all have (function, param), only the Lst_Find had (param, function), which was inconsistent. To generate a diff of this commit: cvs rdiff -u -r1.91 -r1.92 src/usr.bin/make/arch.c cvs rdiff -u -r1.99 -r1.100 src/usr.bin/make/cond.c cvs rdiff -u -r1.109 -r1.110 src/usr.bin/make/dir.c cvs rdiff -u -r1.40 -r1.41 src/usr.bin/make/lst.c src/usr.bin/make/lst.h cvs rdiff -u -r1.310 -r1.311 src/usr.bin/make/main.c cvs rdiff -u -r1.98 -r1.99 src/usr.bin/make/meta.c cvs rdiff -u -r1.113 -r1.114 src/usr.bin/make/suff.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/arch.c diff -u src/usr.bin/make/arch.c:1.91 src/usr.bin/make/arch.c:1.92 --- src/usr.bin/make/arch.c:1.91 Sat Aug 22 21:58:27 2020 +++ src/usr.bin/make/arch.c Sun Aug 23 16:58:02 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: arch.c,v 1.91 2020/08/22 21:58:27 rillig Exp $ */ +/* $NetBSD: arch.c,v 1.92 2020/08/23 16:58:02 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: arch.c,v 1.91 2020/08/22 21:58:27 rillig Exp $"; +static char rcsid[] = "$NetBSD: arch.c,v 1.92 2020/08/23 16:58:02 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)arch.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: arch.c,v 1.91 2020/08/22 21:58:27 rillig Exp $"); +__RCSID("$NetBSD: arch.c,v 1.92 2020/08/23 16:58:02 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -542,7 +542,7 @@ ArchStatMember(const char *archive, cons member = base + 1; } - ln = Lst_Find(archives, archive, ArchFindArchive); + ln = Lst_Find(archives, ArchFindArchive, archive); if (ln != NULL) { ar = Lst_DatumS(ln); Index: src/usr.bin/make/cond.c diff -u src/usr.bin/make/cond.c:1.99 src/usr.bin/make/cond.c:1.100 --- src/usr.bin/make/cond.c:1.99 Sat Aug 22 21:42:38 2020 +++ src/usr.bin/make/cond.c Sun Aug 23 16:58:02 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: cond.c,v 1.99 2020/08/22 21:42:38 rillig Exp $ */ +/* $NetBSD: cond.c,v 1.100 2020/08/23 16:58:02 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: cond.c,v 1.99 2020/08/22 21:42:38 rillig Exp $"; +static char rcsid[] = "$NetBSD: cond.c,v 1.100 2020/08/23 16:58:02 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)cond.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: cond.c,v 1.99 2020/08/22 21:42:38 rillig Exp $"); +__RCSID("$NetBSD: cond.c,v 1.100 2020/08/23 16:58:02 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -284,7 +284,7 @@ CondFindStrMatch(const void *string, con static Boolean CondDoMake(int argLen MAKE_ATTR_UNUSED, const char *arg) { - return Lst_Find(create, arg, CondFindStrMatch) != NULL; + return Lst_Find(create, CondFindStrMatch, arg) != NULL; } /* See if the given file exists. */ Index: src/usr.bin/make/dir.c diff -u src/usr.bin/make/dir.c:1.109 src/usr.bin/make/dir.c:1.110 --- src/usr.bin/make/dir.c:1.109 Sat Aug 22 23:06:51 2020 +++ src/usr.bin/make/dir.c Sun Aug 23 16:58:02 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: dir.c,v 1.109 2020/08/22 23:06:51 rillig Exp $ */ +/* $NetBSD: dir.c,v 1.110 2020/08/23 16:58:02 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.109 2020/08/22 23:06:51 rillig Exp $"; +static char rcsid[] = "$NetBSD: dir.c,v 1.110 2020/08/23 16:58:02 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.109 2020/08/22 23:06:51 rillig Exp $"); +__RCSID("$NetBSD: dir.c,v 1.110 2020/08/23 16:58:02 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1560,7 +1560,7 @@ Dir_AddDir(Lst path, const char *name) struct dirent *dp; /* entry in directory */ if (strcmp(name, ".DOTLAST") == 0) { - ln = Lst_Find(path, name, DirFindName); + ln = Lst_Find(path, DirFindName, name); if (ln != NULL) return Lst_DatumS(ln); else { @@ -1573,7 +1573,7 @@ Dir_AddDir(Lst path, const char *name) } if (path) - ln = Lst_Find(openDirectories, name, DirFindName); + ln = Lst_Find(openDirectories, DirFindName, name); if (ln != NULL) { p = Lst_DatumS(ln); if (path && Lst_MemberS(path, p) == NULL) { Index: src/usr.bin/make/lst.c diff -u src/usr.bin/make/lst.c:1.40 src/usr.bin/make/lst.c:1.41 --- src/usr.bin/make/lst.c:1.40 Sun Aug 23 16:43:34 2020 +++ src/usr.bin/make/lst.c Sun Aug 23 16:58:02 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: lst.c,v 1.40 2020/08/23 16:43:34 rillig Exp $ */ +/* $NetBSD: lst.c,v 1.41 2020/08/23 16:58:02 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -37,11 +37,11 @@ #include "make.h" #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: lst.c,v 1.40 2020/08/23 16:43:34 rillig Exp $"; +static char rcsid[] = "$NetBSD: lst.c,v 1.41 2020/08/23 16:58:02 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: lst.c,v 1.40 2020/08/23 16:43:34 rillig Exp $"); +__RCSID("$NetBSD: lst.c,v 1.41 2020/08/23 16:58:02 rillig Exp $"); #endif /* not lint */ #endif @@ -394,20 +394,21 @@ Lst_IsEmpty(Lst list) /* Return the first node from the given list for which the given comparison * function returns 0, or NULL if none of the nodes matches. */ LstNode -Lst_Find(Lst list, const void *cmpData, int (*cmp)(const void *, const void *)) +Lst_Find(Lst list, LstFindProc cmp, const void *cmpData) { - return Lst_FindFrom(list, Lst_First(list), cmpData, cmp); + return Lst_FindFrom(list, Lst_First(list), cmp, cmpData); } /* Return the first node from the given list, starting at the given node, for * which the given comparison function returns 0, or NULL if none of the nodes * matches. */ LstNode -Lst_FindFrom(Lst list, LstNode node, const void *cmpData, - int (*cmp)(const void *, const void *)) +Lst_FindFrom(Lst list, LstNode node, LstFindProc cmp, const void *cmpData) { LstNode tln; + assert(cmp != NULL); + if (!LstIsValid(list) || LstIsEmpty(list) || !LstNodeIsValid(node)) { return NULL; } @@ -415,7 +416,7 @@ Lst_FindFrom(Lst list, LstNode node, con tln = node; do { - if ((*cmp)(tln->datum, cmpData) == 0) + if (cmp(tln->datum, cmpData) == 0) return tln; tln = tln->next; } while (tln != node && tln != NULL); Index: src/usr.bin/make/lst.h diff -u src/usr.bin/make/lst.h:1.40 src/usr.bin/make/lst.h:1.41 --- src/usr.bin/make/lst.h:1.40 Sun Aug 23 16:43:34 2020 +++ src/usr.bin/make/lst.h Sun Aug 23 16:58:02 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: lst.h,v 1.40 2020/08/23 16:43:34 rillig Exp $ */ +/* $NetBSD: lst.h,v 1.41 2020/08/23 16:58:02 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -146,9 +146,9 @@ void *Lst_DatumS(LstNode); * Functions for entire lists */ /* Find an element in a list */ -LstNode Lst_Find(Lst, const void *, LstFindProc); +LstNode Lst_Find(Lst, LstFindProc, const void *); /* Find an element starting from somewhere */ -LstNode Lst_FindFrom(Lst, LstNode, const void *, LstFindProc); +LstNode Lst_FindFrom(Lst, LstNode, LstFindProc, const void *); /* * See if the given datum is on the list. Returns the LstNode containing * the datum Index: src/usr.bin/make/main.c diff -u src/usr.bin/make/main.c:1.310 src/usr.bin/make/main.c:1.311 --- src/usr.bin/make/main.c:1.310 Sat Aug 22 18:47:31 2020 +++ src/usr.bin/make/main.c Sun Aug 23 16:58:02 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.310 2020/08/22 18:47:31 rillig Exp $ */ +/* $NetBSD: main.c,v 1.311 2020/08/23 16:58:02 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: main.c,v 1.310 2020/08/22 18:47:31 rillig Exp $"; +static char rcsid[] = "$NetBSD: main.c,v 1.311 2020/08/23 16:58:02 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint @@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19 #if 0 static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: main.c,v 1.310 2020/08/22 18:47:31 rillig Exp $"); +__RCSID("$NetBSD: main.c,v 1.311 2020/08/23 16:58:02 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -1331,7 +1331,7 @@ main(int argc, char **argv) if (Lst_IsEmpty(sysMkPath)) Fatal("%s: no system rules (%s).", progname, _PATH_DEFSYSMK); - ln = Lst_Find(sysMkPath, NULL, ReadMakefile); + ln = Lst_Find(sysMkPath, ReadMakefile, NULL); if (ln == NULL) Fatal("%s: cannot open %s.", progname, (char *)Lst_DatumS(ln)); @@ -1340,7 +1340,7 @@ main(int argc, char **argv) if (!Lst_IsEmpty(makefiles)) { LstNode ln; - ln = Lst_Find(makefiles, NULL, ReadAllMakefiles); + ln = Lst_Find(makefiles, ReadAllMakefiles, NULL); if (ln != NULL) Fatal("%s: cannot open %s.", progname, (char *)Lst_DatumS(ln)); @@ -1349,7 +1349,7 @@ main(int argc, char **argv) VAR_CMD, VARE_WANTRES); if (p1) { (void)str2Lst_Append(makefiles, p1, NULL); - (void)Lst_Find(makefiles, NULL, ReadMakefile); + (void)Lst_Find(makefiles, ReadMakefile, NULL); free(p1); } } Index: src/usr.bin/make/meta.c diff -u src/usr.bin/make/meta.c:1.98 src/usr.bin/make/meta.c:1.99 --- src/usr.bin/make/meta.c:1.98 Sun Aug 23 16:43:34 2020 +++ src/usr.bin/make/meta.c Sun Aug 23 16:58:02 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.98 2020/08/23 16:43:34 rillig Exp $ */ +/* $NetBSD: meta.c,v 1.99 2020/08/23 16:58:02 rillig Exp $ */ /* * Implement 'meta' mode. @@ -1332,14 +1332,14 @@ meta_oodate(GNode *gn, Boolean oodate) case 'D': /* unlink */ if (*p == '/' && !Lst_IsEmpty(missingFiles)) { /* remove any missingFiles entries that match p */ - if ((ln = Lst_Find(missingFiles, p, - path_match)) != NULL) { + ln = Lst_Find(missingFiles, path_match, p); + if (ln != NULL) { LstNode nln; char *tp; do { nln = Lst_FindFrom(missingFiles, Lst_Succ(ln), - p, path_match); + path_match, p); tp = Lst_DatumS(ln); Lst_RemoveS(missingFiles, ln); free(tp); @@ -1409,7 +1409,7 @@ meta_oodate(GNode *gn, Boolean oodate) if ((link_src != NULL && cached_lstat(p, &fs) < 0) || (link_src == NULL && cached_stat(p, &fs) < 0)) { if (!meta_ignore(gn, p)) { - if (Lst_Find(missingFiles, p, string_match) == NULL) + if (Lst_Find(missingFiles, string_match, p) == NULL) Lst_AppendS(missingFiles, bmake_strdup(p)); } } @@ -1495,7 +1495,7 @@ meta_oodate(GNode *gn, Boolean oodate) * A referenced file outside of CWD is missing. * We cannot catch every eventuality here... */ - if (Lst_Find(missingFiles, p, string_match) == NULL) + if (Lst_Find(missingFiles, string_match, p) == NULL) Lst_AppendS(missingFiles, bmake_strdup(p)); } } Index: src/usr.bin/make/suff.c diff -u src/usr.bin/make/suff.c:1.113 src/usr.bin/make/suff.c:1.114 --- src/usr.bin/make/suff.c:1.113 Sun Aug 23 06:54:01 2020 +++ src/usr.bin/make/suff.c Sun Aug 23 16:58:02 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: suff.c,v 1.113 2020/08/23 06:54:01 rillig Exp $ */ +/* $NetBSD: suff.c,v 1.114 2020/08/23 16:58:02 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: suff.c,v 1.113 2020/08/23 06:54:01 rillig Exp $"; +static char rcsid[] = "$NetBSD: suff.c,v 1.114 2020/08/23 16:58:02 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94"; #else -__RCSID("$NetBSD: suff.c,v 1.113 2020/08/23 06:54:01 rillig Exp $"); +__RCSID("$NetBSD: suff.c,v 1.114 2020/08/23 16:58:02 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -609,10 +609,10 @@ SuffParseTransform(char *str, Suff **src */ for (;;) { if (srcLn == NULL) { - srcLn = Lst_Find(sufflist, str, SuffSuffIsPrefix); + srcLn = Lst_Find(sufflist, SuffSuffIsPrefix, str); } else { - srcLn = Lst_FindFrom(sufflist, Lst_Succ(srcLn), str, - SuffSuffIsPrefix); + srcLn = Lst_FindFrom(sufflist, Lst_Succ(srcLn), + SuffSuffIsPrefix, str); } if (srcLn == NULL) { /* @@ -640,7 +640,7 @@ SuffParseTransform(char *str, Suff **src single = src; singleLn = srcLn; } else { - targLn = Lst_Find(sufflist, str2, SuffSuffHasNameP); + targLn = Lst_Find(sufflist, SuffSuffHasNameP, str2); if (targLn != NULL) { *srcPtr = src; *targPtr = Lst_DatumS(targLn); @@ -700,7 +700,7 @@ Suff_AddTransform(char *line) *t; /* target suffix */ LstNode ln; /* Node for existing transformation */ - ln = Lst_Find(transforms, line, SuffGNHasNameP); + ln = Lst_Find(transforms, SuffGNHasNameP, line); if (ln == NULL) { /* * Make a new graph node for the transformation. It will be filled in @@ -849,7 +849,7 @@ SuffRebuildGraph(void *transformp, void */ cp = UNCONST(SuffStrIsPrefix(s->name, transform->name)); if (cp != NULL) { - ln = Lst_Find(sufflist, cp, SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, cp); if (ln != NULL) { /* * Found target. Link in and return, since it can't be anything @@ -873,7 +873,7 @@ SuffRebuildGraph(void *transformp, void * Null-terminate the source suffix in order to find it. */ cp[1] = '\0'; - ln = Lst_Find(sufflist, transform->name, SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, transform->name); /* * Replace the start of the target suffix */ @@ -976,7 +976,7 @@ Suff_AddSuffix(char *str, GNode **gn) LstNode ln; GNodeSuff gs; - ln = Lst_Find(sufflist, str, SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, str); if (ln == NULL) { s = bmake_malloc(sizeof(Suff)); @@ -1028,7 +1028,7 @@ Suff_GetPath(char *sname) LstNode ln; Suff *s; - ln = Lst_Find(sufflist, sname, SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, sname); if (ln == NULL) { return NULL; } else { @@ -1123,7 +1123,7 @@ Suff_AddInclude(char *sname) LstNode ln; Suff *s; - ln = Lst_Find(sufflist, sname, SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, sname); if (ln != NULL) { s = Lst_DatumS(ln); s->flags |= SUFF_INCLUDE; @@ -1155,7 +1155,7 @@ Suff_AddLib(char *sname) LstNode ln; Suff *s; - ln = Lst_Find(sufflist, sname, SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, sname); if (ln != NULL) { s = Lst_DatumS(ln); s->flags |= SUFF_LIBRARY; @@ -1460,7 +1460,7 @@ SuffFindCmds(Src *targ, Lst slst) * The node matches the prefix ok, see if it has a known * suffix. */ - ln = Lst_Find(sufflist, &cp[prefLen], SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, &cp[prefLen]); if (ln == NULL) continue; /* @@ -1753,7 +1753,7 @@ Suff_FindPath(GNode* gn) LstNode ln; sd.len = strlen(gn->name); sd.ename = gn->name + sd.len; - ln = Lst_Find(sufflist, &sd, SuffSuffIsSuffixP); + ln = Lst_Find(sufflist, SuffSuffIsSuffixP, &sd); if (DEBUG(SUFF)) { fprintf(debug_file, "Wildcard expanding \"%s\"...", gn->name); @@ -1818,7 +1818,7 @@ SuffApplyTransform(GNode *tGn, GNode *sG * Locate the transformation rule itself */ tname = str_concat2(s->name, t->name); - ln = Lst_Find(transforms, tname, SuffGNHasNameP); + ln = Lst_Find(transforms, SuffGNHasNameP, tname); free(tname); if (ln == NULL) { @@ -1983,7 +1983,7 @@ SuffFindArchiveDeps(GNode *gn, Lst slst) */ sd.len = eoarch - gn->name; sd.ename = eoarch; - ln = Lst_Find(ms->parents, &sd, SuffSuffIsSuffixP); + ln = Lst_Find(ms->parents, SuffSuffIsSuffixP, &sd); if (ln != NULL) { /* @@ -2093,7 +2093,7 @@ SuffFindNormalDeps(GNode *gn, Lst slst) /* * Look for next possible suffix... */ - ln = Lst_FindFrom(sufflist, ln, &sd, SuffSuffIsSuffixP); + ln = Lst_FindFrom(sufflist, ln, SuffSuffIsSuffixP, &sd); if (ln != NULL) { int prefLen; /* Length of the prefix */ @@ -2470,7 +2470,7 @@ SuffFindDeps(GNode *gn, Lst slst) LstNode ln; Suff *s; - ln = Lst_Find(sufflist, LIBSUFF, SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, LIBSUFF); if (gn->suffix) gn->suffix->refCount--; if (ln != NULL) { @@ -2518,7 +2518,7 @@ Suff_SetNull(char *name) Suff *s; LstNode ln; - ln = Lst_Find(sufflist, name, SuffSuffHasNameP); + ln = Lst_Find(sufflist, SuffSuffHasNameP, name); if (ln != NULL) { s = Lst_DatumS(ln); if (suffNull != NULL) {