Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make make(1): replace Dir_CopyDir with Dir_CopyDirSe...
details: https://anonhg.NetBSD.org/src/rev/68e98cc8e283
branches: trunk
changeset: 941613:68e98cc8e283
user: rillig <rillig%NetBSD.org@localhost>
date: Sun Oct 25 10:00:20 2020 +0000
description:
make(1): replace Dir_CopyDir with Dir_CopyDirSearchPath
Callback functions for the Lst functions do not belong in the public API
of a module.
diffstat:
usr.bin/make/dir.c | 31 ++++++++++++++-----------------
usr.bin/make/dir.h | 4 ++--
usr.bin/make/suff.c | 6 +++---
3 files changed, 19 insertions(+), 22 deletions(-)
diffs (98 lines):
diff -r b6dccf19a13a -r 68e98cc8e283 usr.bin/make/dir.c
--- a/usr.bin/make/dir.c Sun Oct 25 09:51:52 2020 +0000
+++ b/usr.bin/make/dir.c Sun Oct 25 10:00:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dir.c,v 1.186 2020/10/25 09:51:52 rillig Exp $ */
+/* $NetBSD: dir.c,v 1.187 2020/10/25 10:00:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -135,7 +135,7 @@
#include "job.h"
/* "@(#)dir.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: dir.c,v 1.186 2020/10/25 09:51:52 rillig Exp $");
+MAKE_RCSID("$NetBSD: dir.c,v 1.187 2020/10/25 10:00:20 rillig Exp $");
#define DIR_DEBUG0(text) DEBUG0(DIR, text)
#define DIR_DEBUG1(fmt, arg1) DEBUG1(DIR, fmt, arg1)
@@ -1447,22 +1447,19 @@
return dir;
}
-/*-
- *-----------------------------------------------------------------------
- * Dir_CopyDir --
- * Callback function for duplicating a search path via Lst_Copy.
- * Ups the reference count for the directory.
- *
- * Results:
- * Returns the Path it was given.
- *-----------------------------------------------------------------------
- */
-void *
-Dir_CopyDir(void *p)
+/* Return a copy of dirSearchPath, incrementing the reference counts for
+ * the contained directories. */
+SearchPath *
+Dir_CopyDirSearchPath(void)
{
- CachedDir *dir = p;
- dir->refCount++;
- return dir;
+ SearchPath *path = Lst_New();
+ SearchPathNode *ln;
+ for (ln = dirSearchPath->first; ln != NULL; ln = ln->next) {
+ CachedDir *dir = ln->datum;
+ dir->refCount++;
+ Lst_Append(path, dir);
+ }
+ return path;
}
/*-
diff -r b6dccf19a13a -r 68e98cc8e283 usr.bin/make/dir.h
--- a/usr.bin/make/dir.h Sun Oct 25 09:51:52 2020 +0000
+++ b/usr.bin/make/dir.h Sun Oct 25 10:00:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dir.h,v 1.31 2020/10/19 23:43:55 rillig Exp $ */
+/* $NetBSD: dir.h,v 1.32 2020/10/25 10:00:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -109,7 +109,7 @@
void Dir_PrintDirectories(void);
void Dir_PrintPath(SearchPath *);
void Dir_Destroy(void *);
-void *Dir_CopyDir(void *);
+SearchPath *Dir_CopyDirSearchPath(void);
/* Stripped-down variant of struct stat. */
struct make_stat {
diff -r b6dccf19a13a -r 68e98cc8e283 usr.bin/make/suff.c
--- a/usr.bin/make/suff.c Sun Oct 25 09:51:52 2020 +0000
+++ b/usr.bin/make/suff.c Sun Oct 25 10:00:20 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.222 2020/10/24 10:36:23 rillig Exp $ */
+/* $NetBSD: suff.c,v 1.223 2020/10/25 10:00:20 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -129,7 +129,7 @@
#include "dir.h"
/* "@(#)suff.c 8.4 (Berkeley) 3/21/94" */
-MAKE_RCSID("$NetBSD: suff.c,v 1.222 2020/10/24 10:36:23 rillig Exp $");
+MAKE_RCSID("$NetBSD: suff.c,v 1.223 2020/10/25 10:00:20 rillig Exp $");
#define SUFF_DEBUG0(text) DEBUG0(SUFF, text)
#define SUFF_DEBUG1(fmt, arg1) DEBUG1(SUFF, fmt, arg1)
@@ -789,7 +789,7 @@
Dir_Concat(s->searchPath, dirSearchPath);
} else {
Lst_Destroy(s->searchPath, Dir_Destroy);
- s->searchPath = Lst_Copy(dirSearchPath, Dir_CopyDir);
+ s->searchPath = Dir_CopyDirSearchPath();
}
}
Home |
Main Index |
Thread Index |
Old Index