Module Name:    src
Committed By:   rillig
Date:           Thu Jun  1 07:44:11 UTC 2023

Modified Files:
        src/usr.bin/make: buf.c buf.h cond.c for.c make.h var.c
        src/usr.bin/make/unit-tests: cond-cmp-unary.exp cond-cmp-unary.mk

Log Message:
make: shorten function names, clean up comments

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/usr.bin/make/buf.c
cvs rdiff -u -r1.47 -r1.48 src/usr.bin/make/buf.h
cvs rdiff -u -r1.344 -r1.345 src/usr.bin/make/cond.c
cvs rdiff -u -r1.174 -r1.175 src/usr.bin/make/for.c
cvs rdiff -u -r1.319 -r1.320 src/usr.bin/make/make.h
cvs rdiff -u -r1.1054 -r1.1055 src/usr.bin/make/var.c
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/cond-cmp-unary.exp
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/cond-cmp-unary.mk

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/buf.c
diff -u src/usr.bin/make/buf.c:1.55 src/usr.bin/make/buf.c:1.56
--- src/usr.bin/make/buf.c:1.55	Sat Jan  8 17:25:19 2022
+++ src/usr.bin/make/buf.c	Thu Jun  1 07:44:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: buf.c,v 1.55 2022/01/08 17:25:19 rillig Exp $	*/
+/*	$NetBSD: buf.c,v 1.56 2023/06/01 07:44:10 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -75,7 +75,7 @@
 #include "make.h"
 
 /*	"@(#)buf.c	8.1 (Berkeley) 6/6/93"	*/
-MAKE_RCSID("$NetBSD: buf.c,v 1.55 2022/01/08 17:25:19 rillig Exp $");
+MAKE_RCSID("$NetBSD: buf.c,v 1.56 2023/06/01 07:44:10 rillig Exp $");
 
 /* Make space in the buffer for adding at least 16 more bytes. */
 void
@@ -106,7 +106,7 @@ Buf_AddBytes(Buffer *buf, const char *by
 
 /* Add the bytes between start and end to the buffer. */
 void
-Buf_AddBytesBetween(Buffer *buf, const char *start, const char *end)
+Buf_AddRange(Buffer *buf, const char *start, const char *end)
 {
 	Buf_AddBytes(buf, start, (size_t)(end - start));
 }

Index: src/usr.bin/make/buf.h
diff -u src/usr.bin/make/buf.h:1.47 src/usr.bin/make/buf.h:1.48
--- src/usr.bin/make/buf.h:1.47	Sat Jan  8 17:25:19 2022
+++ src/usr.bin/make/buf.h	Thu Jun  1 07:44:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: buf.h,v 1.47 2022/01/08 17:25:19 rillig Exp $	*/
+/*	$NetBSD: buf.h,v 1.48 2023/06/01 07:44:10 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -116,7 +116,7 @@ Buf_EndsWith(const Buffer *buf, char ch)
 }
 
 void Buf_AddBytes(Buffer *, const char *, size_t);
-void Buf_AddBytesBetween(Buffer *, const char *, const char *);
+void Buf_AddRange(Buffer *, const char *, const char *);
 void Buf_AddStr(Buffer *, const char *);
 void Buf_AddInt(Buffer *, int);
 void Buf_AddFlag(Buffer *, bool, const char *);

Index: src/usr.bin/make/cond.c
diff -u src/usr.bin/make/cond.c:1.344 src/usr.bin/make/cond.c:1.345
--- src/usr.bin/make/cond.c:1.344	Tue Feb 14 21:08:00 2023
+++ src/usr.bin/make/cond.c	Thu Jun  1 07:44:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: cond.c,v 1.344 2023/02/14 21:08:00 rillig Exp $	*/
+/*	$NetBSD: cond.c,v 1.345 2023/06/01 07:44:10 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -92,7 +92,7 @@
 #include "dir.h"
 
 /*	"@(#)cond.c	8.2 (Berkeley) 1/2/94"	*/
-MAKE_RCSID("$NetBSD: cond.c,v 1.344 2023/02/14 21:08:00 rillig Exp $");
+MAKE_RCSID("$NetBSD: cond.c,v 1.345 2023/06/01 07:44:10 rillig Exp $");
 
 /*
  * Conditional expressions conform to this grammar:
@@ -136,10 +136,10 @@ typedef struct CondParser {
 
 	/*
 	 * The plain '.if ${VAR}' evaluates to true if the value of the
-	 * expression has length > 0.  The other '.if' variants delegate
-	 * to evalBare instead, for example '.ifdef ${VAR}' is equivalent to
-	 * '.if defined(${VAR})', checking whether the variable named by the
-	 * expression '${VAR}' is defined.
+	 * expression has length > 0 and is not numerically zero.  The other
+	 * '.if' variants delegate to evalBare instead, for example '.ifdef
+	 * ${VAR}' is equivalent to '.if defined(${VAR})', checking whether
+	 * the variable named by the expression '${VAR}' is defined.
 	 */
 	bool plain;
 
@@ -338,7 +338,7 @@ FuncCommands(const char *node)
 }
 
 /*
- * Convert the string into a floating-point number.  Accepted formats are
+ * Convert the string to a floating point number.  Accepted formats are
  * base-10 integer, base-16 integer and finite floating point numbers.
  */
 static bool
@@ -507,7 +507,7 @@ return_str:
  * ".if 0".
  */
 static bool
-EvalNotEmpty(CondParser *par, const char *value, bool quoted)
+EvalTruthy(CondParser *par, const char *value, bool quoted)
 {
 	double num;
 
@@ -631,7 +631,7 @@ CondParser_Comparison(CondParser *par, b
 
 	if (!CondParser_ComparisonOp(par, &op)) {
 		/* Unknown operator, compare against an empty string or 0. */
-		t = ToToken(doEval && EvalNotEmpty(par, lhs.str, lhsQuoted));
+		t = ToToken(doEval && EvalTruthy(par, lhs.str, lhsQuoted));
 		goto done_lhs;
 	}
 

Index: src/usr.bin/make/for.c
diff -u src/usr.bin/make/for.c:1.174 src/usr.bin/make/for.c:1.175
--- src/usr.bin/make/for.c:1.174	Tue May  9 19:43:12 2023
+++ src/usr.bin/make/for.c	Thu Jun  1 07:44:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: for.c,v 1.174 2023/05/09 19:43:12 rillig Exp $	*/
+/*	$NetBSD: for.c,v 1.175 2023/06/01 07:44:10 rillig Exp $	*/
 
 /*
  * Copyright (c) 1992, The Regents of the University of California.
@@ -58,7 +58,7 @@
 #include "make.h"
 
 /*	"@(#)for.c	8.1 (Berkeley) 6/6/93"	*/
-MAKE_RCSID("$NetBSD: for.c,v 1.174 2023/05/09 19:43:12 rillig Exp $");
+MAKE_RCSID("$NetBSD: for.c,v 1.175 2023/06/01 07:44:10 rillig Exp $");
 
 
 typedef struct ForLoop {
@@ -115,7 +115,7 @@ ForLoop_Free(ForLoop *f)
 }
 
 char *
-ForLoop_Details(ForLoop *f)
+ForLoop_Details(const ForLoop *f)
 {
 	size_t i, n;
 	const char **vars;
@@ -133,7 +133,7 @@ ForLoop_Details(ForLoop *f)
 			Buf_AddStr(&buf, ", ");
 		Buf_AddStr(&buf, vars[i]);
 		Buf_AddStr(&buf, " = ");
-		Buf_AddBytesBetween(&buf, items[i].start, items[i].end);
+		Buf_AddRange(&buf, items[i].start, items[i].end);
 	}
 	return Buf_DoneData(&buf);
 }
@@ -351,7 +351,7 @@ NeedsEscapes(Substring value, char endc)
 }
 
 /*
- * While expanding the body of a .for loop, write the item in the ${:U...}
+ * While expanding the body of a .for loop, write the item as a ${:U...}
  * expression, escaping characters as needed.  The result is later unescaped
  * by ApplyModifier_Defined.
  */
@@ -362,7 +362,7 @@ AddEscaped(Buffer *cmds, Substring item,
 	char ch;
 
 	if (!NeedsEscapes(item, endc)) {
-		Buf_AddBytesBetween(cmds, item.start, item.end);
+		Buf_AddRange(cmds, item.start, item.end);
 		return;
 	}
 
@@ -392,7 +392,7 @@ AddEscaped(Buffer *cmds, Substring item,
 }
 
 /*
- * When expanding the body of a .for loop, replace the variable name of an
+ * While expanding the body of a .for loop, replace the variable name of an
  * expression like ${i} or ${i:...} or $(i) or $(i:...) with ":Uvalue".
  */
 static void
@@ -401,12 +401,12 @@ ForLoop_SubstVarLong(ForLoop *f, unsigne
 {
 	size_t i;
 	const char *start = *pp;
-	const char **vars = Vector_Get(&f->vars, 0);
+	const char **varnames = Vector_Get(&f->vars, 0);
 
 	for (i = 0; i < f->vars.len; i++) {
 		const char *p = start;
 
-		if (!cpp_skip_string(&p, vars[i]))
+		if (!cpp_skip_string(&p, varnames[i]))
 			continue;
 		/* XXX: why test for backslash here? */
 		if (*p != ':' && *p != endc && *p != '\\')
@@ -416,7 +416,7 @@ ForLoop_SubstVarLong(ForLoop *f, unsigne
 		 * Found a variable match.  Skip over the variable name and
 		 * instead add ':U<value>' to the current body.
 		 */
-		Buf_AddBytesBetween(body, *inout_mark, start);
+		Buf_AddRange(body, *inout_mark, start);
 		Buf_AddStr(body, ":U");
 		AddEscaped(body, f->items.words[firstItem + i], endc);
 
@@ -427,7 +427,7 @@ ForLoop_SubstVarLong(ForLoop *f, unsigne
 }
 
 /*
- * When expanding the body of a .for loop, replace single-character
+ * While expanding the body of a .for loop, replace single-character
  * variable expressions like $i with their ${:U...} expansion.
  */
 static void
@@ -451,7 +451,7 @@ ForLoop_SubstVarShort(ForLoop *f, unsign
 	return;
 
 found:
-	Buf_AddBytesBetween(body, *inout_mark, p);
+	Buf_AddRange(body, *inout_mark, p);
 	*inout_mark = p + 1;
 
 	/* Replace $<ch> with ${:U<value>} */
@@ -465,13 +465,14 @@ found:
  * replacing the expressions for the iteration variables on the way.
  *
  * Using variable expressions ensures that the .for loop can't generate
- * syntax, and that the later parsing will still see a variable.
- * This code assumes that the variable with the empty name will never be
- * defined, see unit-tests/varname-empty.mk for more details.
+ * syntax, and that the later parsing will still see an expression.
+ * This code assumes that the variable with the empty name is never defined,
+ * see unit-tests/varname-empty.mk.
  *
  * The detection of substitutions of the loop control variables is naive.
  * Many of the modifiers use '\$' instead of '$$' to escape '$', so it is
  * possible to contrive a makefile where an unwanted substitution happens.
+ * See unit-tests/directive-for-escape.mk.
  */
 static void
 ForLoop_SubstBody(ForLoop *f, unsigned int firstItem, Buffer *body)
@@ -497,7 +498,7 @@ ForLoop_SubstBody(ForLoop *f, unsigned i
 			break;
 	}
 
-	Buf_AddBytesBetween(body, mark, end);
+	Buf_AddRange(body, mark, end);
 }
 
 /*

Index: src/usr.bin/make/make.h
diff -u src/usr.bin/make/make.h:1.319 src/usr.bin/make/make.h:1.320
--- src/usr.bin/make/make.h:1.319	Tue Mar 28 14:39:31 2023
+++ src/usr.bin/make/make.h	Thu Jun  1 07:44:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: make.h,v 1.319 2023/03/28 14:39:31 rillig Exp $	*/
+/*	$NetBSD: make.h,v 1.320 2023/06/01 07:44:10 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -820,7 +820,7 @@ int For_Eval(const char *) MAKE_ATTR_USE
 bool For_Accum(const char *, int *) MAKE_ATTR_USE;
 void For_Run(unsigned, unsigned);
 bool For_NextIteration(struct ForLoop *, Buffer *);
-char *ForLoop_Details(struct ForLoop *);
+char *ForLoop_Details(const struct ForLoop *);
 void ForLoop_Free(struct ForLoop *);
 void For_Break(struct ForLoop *);
 

Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.1054 src/usr.bin/make/var.c:1.1055
--- src/usr.bin/make/var.c:1.1054	Wed May 10 18:22:33 2023
+++ src/usr.bin/make/var.c	Thu Jun  1 07:44:10 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.1054 2023/05/10 18:22:33 sjg Exp $	*/
+/*	$NetBSD: var.c,v 1.1055 2023/06/01 07:44:10 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -139,7 +139,7 @@
 #include "metachar.h"
 
 /*	"@(#)var.c	8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: var.c,v 1.1054 2023/05/10 18:22:33 sjg Exp $");
+MAKE_RCSID("$NetBSD: var.c,v 1.1055 2023/06/01 07:44:10 rillig Exp $");
 
 /*
  * Variables are defined using one of the VAR=value assignments.  Their
@@ -1314,7 +1314,7 @@ SepBuf_AddBytes(SepBuf *buf, const char 
 }
 
 static void
-SepBuf_AddBytesBetween(SepBuf *buf, const char *start, const char *end)
+SepBuf_AddRange(SepBuf *buf, const char *start, const char *end)
 {
 	SepBuf_AddBytes(buf, start, (size_t)(end - start));
 }
@@ -1328,7 +1328,7 @@ SepBuf_AddStr(SepBuf *buf, const char *s
 static void
 SepBuf_AddSubstring(SepBuf *buf, Substring sub)
 {
-	SepBuf_AddBytesBetween(buf, sub.start, sub.end);
+	SepBuf_AddRange(buf, sub.start, sub.end);
 }
 
 static char *
@@ -1385,7 +1385,7 @@ ModifyWord_Suffix(Substring word, SepBuf
 {
 	const char *lastDot = Substring_LastIndex(word, '.');
 	if (lastDot != NULL)
-		SepBuf_AddBytesBetween(buf, lastDot + 1, word.end);
+		SepBuf_AddRange(buf, lastDot + 1, word.end);
 }
 
 /*
@@ -1400,7 +1400,7 @@ ModifyWord_Root(Substring word, SepBuf *
 
 	lastDot = Substring_LastIndex(word, '.');
 	end = lastDot != NULL ? lastDot : word.end;
-	SepBuf_AddBytesBetween(buf, word.start, end);
+	SepBuf_AddRange(buf, word.start, end);
 }
 
 /*
@@ -1463,9 +1463,9 @@ ModifyWord_SysVSubst(Substring word, Sep
 	percent = args->lhsPercent ? strchr(rhs.str, '%') : NULL;
 
 	if (percent != NULL)
-		SepBuf_AddBytesBetween(buf, rhs.str, percent);
+		SepBuf_AddRange(buf, rhs.str, percent);
 	if (percent != NULL || !args->lhsPercent)
-		SepBuf_AddBytesBetween(buf,
+		SepBuf_AddRange(buf,
 		    word.start + Substring_Length(args->lhsPrefix),
 		    word.end - Substring_Length(args->lhsSuffix));
 	SepBuf_AddStr(buf, percent != NULL ? percent + 1 : rhs.str);
@@ -1522,7 +1522,7 @@ ModifyWord_Subst(Substring word, SepBuf 
 
 		/* :S,^prefix,replacement, or :S,^whole$,replacement, */
 		SepBuf_AddSubstring(buf, args->rhs);
-		SepBuf_AddBytesBetween(buf, word.start + lhsLen, wordEnd);
+		SepBuf_AddRange(buf, word.start + lhsLen, wordEnd);
 		args->matched = true;
 		return;
 	}
@@ -1534,7 +1534,7 @@ ModifyWord_Subst(Substring word, SepBuf 
 			goto nosub;
 
 		/* :S,suffix$,replacement, */
-		SepBuf_AddBytesBetween(buf, word.start, wordEnd - lhsLen);
+		SepBuf_AddRange(buf, word.start, wordEnd - lhsLen);
 		SepBuf_AddSubstring(buf, args->rhs);
 		args->matched = true;
 		return;
@@ -1545,7 +1545,7 @@ ModifyWord_Subst(Substring word, SepBuf 
 
 	/* unanchored case, may match more than once */
 	while ((match = Substring_Find(word, args->lhs)) != NULL) {
-		SepBuf_AddBytesBetween(buf, word.start, match);
+		SepBuf_AddRange(buf, word.start, match);
 		SepBuf_AddSubstring(buf, args->rhs);
 		args->matched = true;
 		word.start = match + lhsLen;
@@ -1581,7 +1581,7 @@ RegexReplaceBackref(char ref, SepBuf *bu
 		if (opts.strict)
 			Error("No match for subexpression \\%u", n);
 	} else {
-		SepBuf_AddBytesBetween(buf,
+		SepBuf_AddRange(buf,
 		    wp + (size_t)m[n].rm_so,
 		    wp + (size_t)m[n].rm_eo);
 	}
@@ -1605,7 +1605,7 @@ RegexReplace(Substring replace, SepBuf *
 			 ch_isdigit(rp[1]))
 			RegexReplaceBackref(*++rp, buf, wp, m, nsub);
 		else if (*rp == '&') {
-			SepBuf_AddBytesBetween(buf,
+			SepBuf_AddRange(buf,
 			    wp + (size_t)m[0].rm_so,
 			    wp + (size_t)m[0].rm_eo);
 		} else
@@ -1646,7 +1646,7 @@ again:
 	if (xrv != REG_NOMATCH)
 		VarREError(xrv, &args->re, "Unexpected regex error");
 no_match:
-	SepBuf_AddBytesBetween(buf, wp, word.end);
+	SepBuf_AddRange(buf, wp, word.end);
 	return;
 
 ok:
@@ -1801,8 +1801,7 @@ SubstringWords_JoinFree(SubstringWords w
 			 */
 			Buf_AddByte(&buf, ' ');
 		}
-		Buf_AddBytesBetween(&buf,
-		    words.words[i].start, words.words[i].end);
+		Buf_AddRange(&buf, words.words[i].start, words.words[i].end);
 	}
 
 	SubstringWords_Free(words);
@@ -4735,7 +4734,7 @@ VarSubstPlain(const char **pp, Buffer *r
 
 	for (p++; *p != '$' && *p != '\0'; p++)
 		continue;
-	Buf_AddBytesBetween(res, start, p);
+	Buf_AddRange(res, start, p);
 	*pp = p;
 }
 

Index: src/usr.bin/make/unit-tests/cond-cmp-unary.exp
diff -u src/usr.bin/make/unit-tests/cond-cmp-unary.exp:1.2 src/usr.bin/make/unit-tests/cond-cmp-unary.exp:1.3
--- src/usr.bin/make/unit-tests/cond-cmp-unary.exp:1.2	Wed Nov 11 07:30:11 2020
+++ src/usr.bin/make/unit-tests/cond-cmp-unary.exp	Thu Jun  1 07:44:10 2023
@@ -1,2 +1,2 @@
-make: "cond-cmp-unary.mk" line 53: This is only reached because of a bug in EvalNotEmpty.
+make: "cond-cmp-unary.mk" line 53: This is only reached because of a bug in EvalTruthy.
 exit status 0

Index: src/usr.bin/make/unit-tests/cond-cmp-unary.mk
diff -u src/usr.bin/make/unit-tests/cond-cmp-unary.mk:1.3 src/usr.bin/make/unit-tests/cond-cmp-unary.mk:1.4
--- src/usr.bin/make/unit-tests/cond-cmp-unary.mk:1.3	Thu Sep  8 05:43:20 2022
+++ src/usr.bin/make/unit-tests/cond-cmp-unary.mk	Thu Jun  1 07:44:10 2023
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-unary.mk,v 1.3 2022/09/08 05:43:20 rillig Exp $
+# $NetBSD: cond-cmp-unary.mk,v 1.4 2023/06/01 07:44:10 rillig Exp $
 #
 # Tests for unary comparisons in .if conditions, that is, comparisons with
 # a single operand.  If the operand is a number, it is compared to zero,
@@ -26,8 +26,8 @@
 
 # The empty string may come from a variable expression.
 #
-# XXX: As of 2020-11-11, this empty string is interpreted "as a number" in
-# EvalNotEmpty, which is plain wrong.  The bug is in TryParseNumber.
+# XXX: As of 2023-06-01, this empty string is interpreted "as a number" in
+# EvalTruthy, which is plain wrong.  The bug is in TryParseNumber.
 .if ${:U}
 .  error
 .endif
@@ -45,12 +45,12 @@
 
 # A string of whitespace should evaluate to false.
 #
-# XXX: As of 2020-11-11, the implementation in EvalNotEmpty does not skip
+# XXX: As of 2023-06-01, the implementation in EvalTruthy does not skip
 # whitespace before testing for the end.  This was probably an oversight in
 # a commit from 1992-04-15 saying "A variable is empty when it just contains
 # spaces".
 .if ${:U   }
-.  info This is only reached because of a bug in EvalNotEmpty.
+.  info This is only reached because of a bug in EvalTruthy.
 .else
 .  error
 .endif

Reply via email to