Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/usr.bin/make



In article <20170131065424.246A2F95B%cvs.NetBSD.org@localhost>,
Simon J. Gerraty <source-changes-d%NetBSD.org@localhost> wrote:
>-=-=-=-=-=-
>
>Module Name:	src
>Committed By:	sjg
>Date:		Tue Jan 31 06:54:24 UTC 2017
>
>Modified Files:
>	src/usr.bin/make: dir.c main.c
>
>Log Message:
>Partially initialize Dir before MainParseArgs can be called.
>
>The rest can be done once curdir is finalized.
>
>
>To generate a diff of this commit:
>cvs rdiff -u -r1.68 -r1.69 src/usr.bin/make/dir.c
>cvs rdiff -u -r1.254 -r1.255 src/usr.bin/make/main.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.68 src/usr.bin/make/dir.c:1.69
>--- src/usr.bin/make/dir.c:1.68	Tue Jun  7 00:40:00 2016
>+++ src/usr.bin/make/dir.c	Tue Jan 31 06:54:23 2017
>@@ -1,4 +1,4 @@
>-/*	$NetBSD: dir.c,v 1.68 2016/06/07 00:40:00 sjg Exp $	*/
>+/*	$NetBSD: dir.c,v 1.69 2017/01/31 06:54:23 sjg 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.68 2016/06/07 00:40:00 sjg Exp $";
>+static char rcsid[] = "$NetBSD: dir.c,v 1.69 2017/01/31 06:54:23 sjg 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.68 2016/06/07 00:40:00 sjg Exp $");
>+__RCSID("$NetBSD: dir.c,v 1.69 2017/01/31 06:54:23 sjg Exp $");
> #endif
> #endif /* not lint */
> #endif
>@@ -346,11 +346,13 @@ cached_lstat(const char *pathname, void 
> void
> Dir_Init(const char *cdname)
> {
>-    dirSearchPath = Lst_Init(FALSE);
>-    openDirectories = Lst_Init(FALSE);
>-    Hash_InitTable(&mtimes, 0);
>-    Hash_InitTable(&lmtimes, 0);
>-
>+    if (!cdname) {
>+	dirSearchPath = Lst_Init(FALSE);
>+	openDirectories = Lst_Init(FALSE);
>+	Hash_InitTable(&mtimes, 0);
>+	Hash_InitTable(&lmtimes, 0);
>+	return;
>+    }

Perhaps it is better to protect against calling this again like:

    if (!dirSearchPath) {
	dirSearchPath = Lst_Init(FALSE);
	openDirectories = Lst_Init(FALSE);
	Hash_InitTable(&mtimes, 0);
	Hash_InitTable(&lmtimes, 0);
    }
    if (!cdname)
	return;

christos



Home | Main Index | Thread Index | Old Index