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): make Hash_Table independent from -funs...



details:   https://anonhg.NetBSD.org/src/rev/8ec019eb8004
branches:  trunk
changeset: 938264:8ec019eb8004
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sat Sep 05 13:36:25 2020 +0000

description:
make(1): make Hash_Table independent from -funsigned-char

This only makes a difference for Hash_Table keys outside the ASCII
character set, and these are barely used in practice, if at all.

The effects of this change can only be seen in debug mode, when printing
the full contents of the variable namespaces.  In this output, the order
of the entries might change.

All other use cases stay the same as before.

diffstat:

 usr.bin/make/hash.c |  8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diffs (35 lines):

diff -r 4b27c0a60326 -r 8ec019eb8004 usr.bin/make/hash.c
--- a/usr.bin/make/hash.c       Sat Sep 05 13:35:55 2020 +0000
+++ b/usr.bin/make/hash.c       Sat Sep 05 13:36:25 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: hash.c,v 1.29 2020/09/01 21:11:31 rillig Exp $ */
+/*     $NetBSD: hash.c,v 1.30 2020/09/05 13:36:25 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: hash.c,v 1.29 2020/09/01 21:11:31 rillig Exp $";
+static char rcsid[] = "$NetBSD: hash.c,v 1.30 2020/09/05 13:36:25 rillig Exp $";
 #else
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)hash.c     8.1 (Berkeley) 6/6/93";
 #else
-__RCSID("$NetBSD: hash.c,v 1.29 2020/09/01 21:11:31 rillig Exp $");
+__RCSID("$NetBSD: hash.c,v 1.30 2020/09/05 13:36:25 rillig Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -111,7 +111,7 @@
 /* The default: this one matches Gosling's emacs */
 #define HASH(h, key, p) do { \
        for (h = 0, p = key; *p;) \
-               h = (h << 5) - h + *p++; \
+               h = (h << 5) - h + (unsigned char)*p++; \
        } while (0)
 
 #endif



Home | Main Index | Thread Index | Old Index