Module Name: src
Committed By: rillig
Date: Sat Sep 12 18:19:50 UTC 2020
Modified Files:
src/usr.bin/make: arch.c cond.c nonints.h parse.c suff.c var.c
Log Message:
make(1): rename Var_ParsePP back to Var_Parse
The migration to the "parsing position" pointer has been done.
To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 src/usr.bin/make/arch.c
cvs rdiff -u -r1.140 -r1.141 src/usr.bin/make/cond.c
cvs rdiff -u -r1.115 -r1.116 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.293 -r1.294 src/usr.bin/make/parse.c
cvs rdiff -u -r1.151 -r1.152 src/usr.bin/make/suff.c
cvs rdiff -u -r1.495 -r1.496 src/usr.bin/make/var.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.111 src/usr.bin/make/arch.c:1.112
--- src/usr.bin/make/arch.c:1.111 Fri Sep 11 17:32:36 2020
+++ src/usr.bin/make/arch.c Sat Sep 12 18:19:50 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: arch.c,v 1.111 2020/09/11 17:32:36 rillig Exp $ */
+/* $NetBSD: arch.c,v 1.112 2020/09/12 18:19:50 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: arch.c,v 1.111 2020/09/11 17:32:36 rillig Exp $";
+static char rcsid[] = "$NetBSD: arch.c,v 1.112 2020/09/12 18:19:50 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.111 2020/09/11 17:32:36 rillig Exp $");
+__RCSID("$NetBSD: arch.c,v 1.112 2020/09/12 18:19:50 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -238,7 +238,7 @@ Arch_ParseArchive(char **linePtr, Lst no
const char *result;
Boolean isError;
- result = Var_ParsePP(&nested_p, ctxt,
+ result = Var_Parse(&nested_p, ctxt,
VARE_UNDEFERR|VARE_WANTRES, &result_freeIt);
isError = result == var_Error;
free(result_freeIt);
@@ -280,8 +280,8 @@ Arch_ParseArchive(char **linePtr, Lst no
Boolean isError;
const char *nested_p = cp;
- result = Var_ParsePP(&nested_p, ctxt,
- VARE_UNDEFERR|VARE_WANTRES, &freeIt);
+ result = Var_Parse(&nested_p, ctxt,
+ VARE_UNDEFERR|VARE_WANTRES, &freeIt);
isError = result == var_Error;
free(freeIt);
Index: src/usr.bin/make/cond.c
diff -u src/usr.bin/make/cond.c:1.140 src/usr.bin/make/cond.c:1.141
--- src/usr.bin/make/cond.c:1.140 Sat Sep 12 18:04:45 2020
+++ src/usr.bin/make/cond.c Sat Sep 12 18:19:50 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: cond.c,v 1.140 2020/09/12 18:04:45 rillig Exp $ */
+/* $NetBSD: cond.c,v 1.141 2020/09/12 18:19:50 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.140 2020/09/12 18:04:45 rillig Exp $";
+static char rcsid[] = "$NetBSD: cond.c,v 1.141 2020/09/12 18:19:50 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.140 2020/09/12 18:04:45 rillig Exp $");
+__RCSID("$NetBSD: cond.c,v 1.141 2020/09/12 18:19:50 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -258,7 +258,7 @@ ParseFuncArg(const char **linePtr, Boole
*/
void *freeIt;
VarEvalFlags eflags = VARE_UNDEFERR | (doEval ? VARE_WANTRES : 0);
- const char *cp2 = Var_ParsePP(&cp, VAR_CMD, eflags, &freeIt);
+ const char *cp2 = Var_Parse(&cp, VAR_CMD, eflags, &freeIt);
Buf_AddStr(&buf, cp2);
free(freeIt);
continue;
@@ -462,7 +462,7 @@ CondParser_String(CondParser *par, Boole
(doEval ? VARE_WANTRES : 0);
nested_p = par->p;
atStart = nested_p == start;
- str = Var_ParsePP(&nested_p, VAR_CMD, eflags, freeIt);
+ str = Var_Parse(&nested_p, VAR_CMD, eflags, freeIt);
if (str == var_Error) {
if (*freeIt) {
free(*freeIt);
@@ -703,7 +703,7 @@ ParseEmptyArg(const char **linePtr, Bool
*argPtr = NULL;
(*linePtr)--; /* Make (*linePtr)[1] point to the '('. */
- val = Var_ParsePP(linePtr, VAR_CMD, doEval ? VARE_WANTRES : 0, &val_freeIt);
+ val = Var_Parse(linePtr, VAR_CMD, doEval ? VARE_WANTRES : 0, &val_freeIt);
/* If successful, *linePtr points beyond the closing ')' now. */
if (val == var_Error) {
Index: src/usr.bin/make/nonints.h
diff -u src/usr.bin/make/nonints.h:1.115 src/usr.bin/make/nonints.h:1.116
--- src/usr.bin/make/nonints.h:1.115 Sat Sep 12 18:04:45 2020
+++ src/usr.bin/make/nonints.h Sat Sep 12 18:19:50 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: nonints.h,v 1.115 2020/09/12 18:04:45 rillig Exp $ */
+/* $NetBSD: nonints.h,v 1.116 2020/09/12 18:19:50 rillig Exp $ */
/*-
* Copyright (c) 1988, 1989, 1990, 1993
@@ -213,7 +213,7 @@ void Var_Set_with_flags(const char *, co
void Var_Append(const char *, const char *, GNode *);
Boolean Var_Exists(const char *, GNode *);
const char *Var_Value(const char *, GNode *, char **);
-const char *Var_ParsePP(const char **, GNode *, VarEvalFlags, void **);
+const char *Var_Parse(const char **, GNode *, VarEvalFlags, void **);
char *Var_Subst(const char *, GNode *, VarEvalFlags);
void Var_Init(void);
void Var_End(void);
Index: src/usr.bin/make/parse.c
diff -u src/usr.bin/make/parse.c:1.293 src/usr.bin/make/parse.c:1.294
--- src/usr.bin/make/parse.c:1.293 Sat Sep 12 15:21:25 2020
+++ src/usr.bin/make/parse.c Sat Sep 12 18:19:50 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: parse.c,v 1.293 2020/09/12 15:21:25 rillig Exp $ */
+/* $NetBSD: parse.c,v 1.294 2020/09/12 18:19:50 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: parse.c,v 1.293 2020/09/12 15:21:25 rillig Exp $";
+static char rcsid[] = "$NetBSD: parse.c,v 1.294 2020/09/12 18:19:50 rillig Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)parse.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: parse.c,v 1.293 2020/09/12 15:21:25 rillig Exp $");
+__RCSID("$NetBSD: parse.c,v 1.294 2020/09/12 18:19:50 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -1201,8 +1201,8 @@ ParseDoDependency(char *line)
const char *nested_p = cp;
void *freeIt;
- (void)Var_ParsePP(&nested_p, VAR_CMD,
- VARE_UNDEFERR|VARE_WANTRES, &freeIt);
+ (void)Var_Parse(&nested_p, VAR_CMD,
+ VARE_UNDEFERR|VARE_WANTRES, &freeIt);
free(freeIt);
cp += nested_p - cp;
} else
Index: src/usr.bin/make/suff.c
diff -u src/usr.bin/make/suff.c:1.151 src/usr.bin/make/suff.c:1.152
--- src/usr.bin/make/suff.c:1.151 Sat Sep 12 16:13:48 2020
+++ src/usr.bin/make/suff.c Sat Sep 12 18:19:50 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.151 2020/09/12 16:13:48 rillig Exp $ */
+/* $NetBSD: suff.c,v 1.152 2020/09/12 18:19:50 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: suff.c,v 1.151 2020/09/12 16:13:48 rillig Exp $";
+static char rcsid[] = "$NetBSD: suff.c,v 1.152 2020/09/12 18:19:50 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.151 2020/09/12 16:13:48 rillig Exp $");
+__RCSID("$NetBSD: suff.c,v 1.152 2020/09/12 18:19:50 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -1328,8 +1328,8 @@ SuffExpandChildren(LstNode cln, GNode *p
void *freeIt;
/* XXX: Why VARE_WANTRES when the result is not used? */
- junk = Var_ParsePP(&nested_p, pgn,
- VARE_UNDEFERR|VARE_WANTRES, &freeIt);
+ junk = Var_Parse(&nested_p, pgn,
+ VARE_UNDEFERR|VARE_WANTRES, &freeIt);
if (junk == var_Error) {
Parse_Error(PARSE_FATAL,
"Malformed variable expression at \"%s\"",
Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.495 src/usr.bin/make/var.c:1.496
--- src/usr.bin/make/var.c:1.495 Sat Sep 12 18:04:45 2020
+++ src/usr.bin/make/var.c Sat Sep 12 18:19:50 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.495 2020/09/12 18:04:45 rillig Exp $ */
+/* $NetBSD: var.c,v 1.496 2020/09/12 18:19:50 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.495 2020/09/12 18:04:45 rillig Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.496 2020/09/12 18:19:50 rillig Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: var.c,v 1.495 2020/09/12 18:04:45 rillig Exp $");
+__RCSID("$NetBSD: var.c,v 1.496 2020/09/12 18:19:50 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -1683,8 +1683,8 @@ ParseModifierPart(
void *nested_val_freeIt;
VarEvalFlags nested_eflags = eflags & ~(unsigned)VARE_ASSIGN;
- nested_val = Var_ParsePP(&nested_p, ctxt, nested_eflags,
- &nested_val_freeIt);
+ nested_val = Var_Parse(&nested_p, ctxt, nested_eflags,
+ &nested_val_freeIt);
Buf_AddStr(&buf, nested_val);
free(nested_val_freeIt);
p += nested_p - p;
@@ -2031,7 +2031,7 @@ ApplyModifier_Defined(const char **pp, A
const char *nested_val;
void *nested_val_freeIt;
- nested_val = Var_ParsePP(&p, st->ctxt, eflags, &nested_val_freeIt);
+ nested_val = Var_Parse(&p, st->ctxt, eflags, &nested_val_freeIt);
Buf_AddStr(&buf, nested_val);
free(nested_val_freeIt);
continue;
@@ -3018,8 +3018,8 @@ ApplyModifiers(
*/
const char *nested_p = p;
void *freeIt;
- const char *rval = Var_ParsePP(&nested_p, st.ctxt, st.eflags,
- &freeIt);
+ const char *rval = Var_Parse(&nested_p, st.ctxt, st.eflags,
+ &freeIt);
/*
* If we have not parsed up to st.endc or ':',
@@ -3343,11 +3343,11 @@ VarIsDynamic(GNode *ctxt, const char *va
* Any effects from the modifiers, such as :!cmd! or ::=value.
*-----------------------------------------------------------------------
*/
-/* coverity[+alloc : arg-*4] */
-static const char *
-Var_Parse(const char * const str, GNode *ctxt, VarEvalFlags eflags,
- int *lengthPtr, void **freePtr)
+/* coverity[+alloc : arg-*3] */
+const char *
+Var_Parse(const char **pp, GNode *ctxt, VarEvalFlags eflags, void **freePtr)
{
+ const char * const str = *pp;
const char *tstr; /* Pointer into str */
Boolean haveModifier; /* TRUE if have modifiers for the variable */
char startc; /* Starting character if variable in parens
@@ -3389,7 +3389,7 @@ Var_Parse(const char * const str, GNode
/* Error out some really stupid names */
if (startc == '\0' || strchr(")}:$", startc)) {
- *lengthPtr = 1;
+ (*pp)++;
return var_Error;
}
@@ -3397,7 +3397,7 @@ Var_Parse(const char * const str, GNode
name[1] = '\0';
v = VarFind(name, ctxt, FIND_ENV | FIND_GLOBAL | FIND_CMD);
if (v == NULL) {
- *lengthPtr = 2;
+ *pp += 2;
if (ctxt == VAR_CMD || ctxt == VAR_GLOBAL) {
/*
@@ -3452,7 +3452,7 @@ Var_Parse(const char * const str, GNode
/* A variable inside a variable, expand. */
if (*tstr == '$') {
void *freeIt;
- const char *rval = Var_ParsePP(&tstr, ctxt, eflags, &freeIt);
+ const char *rval = Var_Parse(&tstr, ctxt, eflags, &freeIt);
Buf_AddStr(&namebuf, rval);
free(freeIt);
} else {
@@ -3467,12 +3467,7 @@ Var_Parse(const char * const str, GNode
} else {
Parse_Error(PARSE_FATAL, "Unclosed variable \"%s\"",
Buf_GetAll(&namebuf, NULL));
- /*
- * If we never did find the end character, return NULL
- * right now, setting the length to be the distance to
- * the end of the string, since that's what make does.
- */
- *lengthPtr = (int)(size_t)(tstr - str);
+ *pp = tstr;
Buf_Destroy(&namebuf, TRUE);
return var_Error;
}
@@ -3483,11 +3478,11 @@ Var_Parse(const char * const str, GNode
* At this point, varname points into newly allocated memory from
* namebuf, containing only the name of the variable.
*
- * start and tstr point into the const string that was pointed
+ * start and tstr point into the string that was pointed
* to by the original value of the str parameter. start points
* to the '$' at the beginning of the string, while tstr points
* to the char just after the end of the variable name -- this
- * will be '\0', ':', PRCLOSE, or BRCLOSE.
+ * is '\0', ':', PRCLOSE, or BRCLOSE.
*/
v = VarFind(varname, ctxt, FIND_ENV | FIND_GLOBAL | FIND_CMD);
@@ -3518,13 +3513,10 @@ Var_Parse(const char * const str, GNode
dynamic = VarIsDynamic(ctxt, varname, namelen);
if (!haveModifier) {
- /*
- * No modifiers -- have specification length so we can return
- * now.
- */
- *lengthPtr = (int)(size_t)(tstr - str) + 1;
+ size_t len = (size_t)(tstr + 1 - str);
+ *pp += len;
if (dynamic) {
- char *pstr = bmake_strldup(str, (size_t)*lengthPtr);
+ char *pstr = bmake_strldup(str, len);
*freePtr = pstr;
Buf_Destroy(&namebuf, TRUE);
return pstr;
@@ -3601,7 +3593,7 @@ Var_Parse(const char * const str, GNode
}
/* Skip past endc if possible. */
- *lengthPtr = (int)(size_t)(tstr + (*tstr ? 1 : 0) - str);
+ *pp = tstr + (*tstr ? 1 : 0);
if (v->flags & VAR_FROM_ENV) {
Boolean destroy = nstr != Buf_GetAll(&v->val, NULL);
@@ -3625,7 +3617,7 @@ Var_Parse(const char * const str, GNode
*freePtr = NULL;
}
if (dynamic) {
- nstr = bmake_strldup(str, (size_t)*lengthPtr);
+ nstr = bmake_strldup(str, (size_t)(*pp - str));
*freePtr = nstr;
} else {
nstr = (eflags & VARE_UNDEFERR) ? var_Error : varNoError;
@@ -3639,15 +3631,6 @@ Var_Parse(const char * const str, GNode
return nstr;
}
-const char *
-Var_ParsePP(const char **pp, GNode *ctxt, VarEvalFlags eflags, void **freePtr)
-{
- int len;
- const char *val = Var_Parse(*pp, ctxt, eflags, &len, freePtr);
- *pp += len;
- return val;
-}
-
/* Substitute for all variables in the given string in the given context.
*
* If eflags & VARE_UNDEFERR, Parse_Error will be called when an undefined
@@ -3707,7 +3690,7 @@ Var_Subst(const char *str, GNode *ctxt,
} else {
const char *nested_str = str;
void *freeIt;
- const char *val = Var_ParsePP(&nested_str, ctxt, eflags, &freeIt);
+ const char *val = Var_Parse(&nested_str, ctxt, eflags, &freeIt);
if (val == var_Error || val == varNoError) {
/*