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 return value of Var_Parse constant
details: https://anonhg.NetBSD.org/src/rev/c23fccdee16a
branches: trunk
changeset: 1012292:c23fccdee16a
user: rillig <rillig%NetBSD.org@localhost>
date: Sun Jul 26 20:21:31 2020 +0000
description:
make(1): make return value of Var_Parse constant
This return value is not supposed to be modified since it can be a string
literal. The modifiable part is returned via freePtr, but only for
freeing, not for actually modifying anything.
diffstat:
usr.bin/make/arch.c | 10 +++++-----
usr.bin/make/cond.c | 30 +++++++++++++++---------------
usr.bin/make/nonints.h | 4 ++--
usr.bin/make/suff.c | 8 ++++----
usr.bin/make/var.c | 26 +++++++++++++-------------
5 files changed, 39 insertions(+), 39 deletions(-)
diffs (truncated from 304 to 300 lines):
diff -r 85d74a348055 -r c23fccdee16a usr.bin/make/arch.c
--- a/usr.bin/make/arch.c Sun Jul 26 20:04:57 2020 +0000
+++ b/usr.bin/make/arch.c Sun Jul 26 20:21:31 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: arch.c,v 1.74 2020/07/19 12:26:17 rillig Exp $ */
+/* $NetBSD: arch.c,v 1.75 2020/07/26 20:21:31 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: arch.c,v 1.74 2020/07/19 12:26:17 rillig Exp $";
+static char rcsid[] = "$NetBSD: arch.c,v 1.75 2020/07/26 20:21:31 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.74 2020/07/19 12:26:17 rillig Exp $");
+__RCSID("$NetBSD: arch.c,v 1.75 2020/07/26 20:21:31 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -257,7 +257,7 @@
*/
int length;
void *freeIt;
- char *result;
+ const char *result;
result = Var_Parse(cp, ctxt, VARE_UNDEFERR|VARE_WANTRES,
&length, &freeIt);
@@ -299,7 +299,7 @@
*/
int length;
void *freeIt;
- char *result;
+ const char *result;
result = Var_Parse(cp, ctxt, VARE_UNDEFERR|VARE_WANTRES,
&length, &freeIt);
diff -r 85d74a348055 -r c23fccdee16a usr.bin/make/cond.c
--- a/usr.bin/make/cond.c Sun Jul 26 20:04:57 2020 +0000
+++ b/usr.bin/make/cond.c Sun Jul 26 20:21:31 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cond.c,v 1.81 2020/07/19 12:35:30 rillig Exp $ */
+/* $NetBSD: cond.c,v 1.82 2020/07/26 20:21:31 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.81 2020/07/19 12:35:30 rillig Exp $";
+static char rcsid[] = "$NetBSD: cond.c,v 1.82 2020/07/26 20:21:31 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.81 2020/07/19 12:35:30 rillig Exp $");
+__RCSID("$NetBSD: cond.c,v 1.82 2020/07/26 20:21:31 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -153,7 +153,7 @@
static Boolean CondDoExists(int, const char *);
static Boolean CondDoTarget(int, const char *);
static Boolean CondDoCommands(int, const char *);
-static Boolean CondCvtArg(char *, double *);
+static Boolean CondCvtArg(const char *, double *);
static Token CondToken(Boolean);
static Token CondT(Boolean);
static Token CondF(Boolean);
@@ -286,7 +286,7 @@
int len;
void *freeIt;
VarEvalFlags eflags = VARE_UNDEFERR | (doEval ? VARE_WANTRES : 0);
- char *cp2 = Var_Parse(cp, VAR_CMD, eflags, &len, &freeIt);
+ const char *cp2 = Var_Parse(cp, VAR_CMD, eflags, &len, &freeIt);
Buf_AddBytes(&buf, strlen(cp2), cp2);
free(freeIt);
cp += len;
@@ -479,7 +479,7 @@
*-----------------------------------------------------------------------
*/
static Boolean
-CondCvtArg(char *str, double *value)
+CondCvtArg(const char *str, double *value)
{
char *eptr, ech;
unsigned long l_val;
@@ -525,12 +525,12 @@
*-----------------------------------------------------------------------
*/
/* coverity:[+alloc : arg-*2] */
-static char *
+static const char *
CondGetString(Boolean doEval, Boolean *quoted, void **freeIt, Boolean strictLHS)
{
Buffer buf;
- char *cp;
- char *str;
+ const char *cp;
+ const char *str;
int len;
int qt;
char *start;
@@ -626,8 +626,8 @@
}
}
got_str:
- str = Buf_GetAll(&buf, NULL);
- *freeIt = str;
+ *freeIt = Buf_GetAll(&buf, NULL);
+ str = *freeIt;
cleanup:
Buf_Destroy(&buf, FALSE);
return str;
@@ -650,8 +650,8 @@
compare_expression(Boolean doEval)
{
Token t;
- char *lhs;
- char *rhs;
+ const char *lhs;
+ const char *rhs;
char *op;
void *lhsFree;
void *rhsFree;
@@ -821,7 +821,7 @@
*/
int length;
void *freeIt;
- char *val;
+ const char *val;
char *cp = *linePtr;
/* We do all the work here and return the result as the length */
@@ -840,7 +840,7 @@
}
/* A variable is empty when it just contains spaces... 4/15/92, christos */
- while (isspace(*(unsigned char *)val))
+ while (isspace((unsigned char)val[0]))
val++;
/*
diff -r 85d74a348055 -r c23fccdee16a usr.bin/make/nonints.h
--- a/usr.bin/make/nonints.h Sun Jul 26 20:04:57 2020 +0000
+++ b/usr.bin/make/nonints.h Sun Jul 26 20:21:31 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: nonints.h,v 1.85 2020/07/26 19:55:24 rillig Exp $ */
+/* $NetBSD: nonints.h,v 1.86 2020/07/26 20:21:31 rillig Exp $ */
/*-
* Copyright (c) 1988, 1989, 1990, 1993
@@ -191,7 +191,7 @@
void Var_Append(const char *, const char *, GNode *);
Boolean Var_Exists(const char *, GNode *);
char *Var_Value(const char *, GNode *, char **);
-char *Var_Parse(const char *, GNode *, VarEvalFlags, int *, void **);
+const char *Var_Parse(const char *, GNode *, VarEvalFlags, int *, void **);
char *Var_Subst(const char *, const char *, GNode *, VarEvalFlags);
char *Var_GetTail(const char *);
char *Var_GetHead(const char *);
diff -r 85d74a348055 -r c23fccdee16a usr.bin/make/suff.c
--- a/usr.bin/make/suff.c Sun Jul 26 20:04:57 2020 +0000
+++ b/usr.bin/make/suff.c Sun Jul 26 20:21:31 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.89 2020/07/19 12:26:17 rillig Exp $ */
+/* $NetBSD: suff.c,v 1.90 2020/07/26 20:21:31 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: suff.c,v 1.89 2020/07/19 12:26:17 rillig Exp $";
+static char rcsid[] = "$NetBSD: suff.c,v 1.90 2020/07/26 20:21:31 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.89 2020/07/19 12:26:17 rillig Exp $");
+__RCSID("$NetBSD: suff.c,v 1.90 2020/07/26 20:21:31 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -1606,7 +1606,7 @@
* Start of a variable spec -- contact variable module
* to find the end so we can skip over it.
*/
- char *junk;
+ const char *junk;
int len;
void *freeIt;
diff -r 85d74a348055 -r c23fccdee16a usr.bin/make/var.c
--- a/usr.bin/make/var.c Sun Jul 26 20:04:57 2020 +0000
+++ b/usr.bin/make/var.c Sun Jul 26 20:21:31 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.330 2020/07/26 19:55:24 rillig Exp $ */
+/* $NetBSD: var.c,v 1.331 2020/07/26 20:21:31 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.330 2020/07/26 19:55:24 rillig Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.331 2020/07/26 20:21:31 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.330 2020/07/26 19:55:24 rillig Exp $");
+__RCSID("$NetBSD: var.c,v 1.331 2020/07/26 20:21:31 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -1838,7 +1838,7 @@
Buf_AddByte(&buf, *cp);
} else {
if (eflags & VARE_WANTRES) {
- char *cp2;
+ const char *cp2;
int len;
void *freeIt;
@@ -2145,7 +2145,7 @@
* If unescaped dollar sign, assume it's a
* variable substitution and recurse.
*/
- char *cp2;
+ const char *cp2;
int len;
void *freeIt;
@@ -3077,7 +3077,7 @@
* We may have some complex modifiers in a variable.
*/
void *freeIt;
- char *rval;
+ const char *rval;
int rlen;
int c;
@@ -3383,7 +3383,7 @@
*-----------------------------------------------------------------------
*/
/* coverity[+alloc : arg-*4] */
-char *
+const char *
Var_Parse(const char * const str, GNode *ctxt, VarEvalFlags flags,
int *lengthPtr, void **freePtr)
{
@@ -3436,13 +3436,13 @@
*/
switch (str[1]) {
case '@':
- return UNCONST("$(.TARGET)");
+ return "$(.TARGET)";
case '%':
- return UNCONST("$(.MEMBER)");
+ return "$(.MEMBER)";
case '*':
- return UNCONST("$(.PREFIX)");
+ return "$(.PREFIX)";
case '!':
- return UNCONST("$(.ARCHIVE)");
+ return "$(.ARCHIVE)";
}
}
return (flags & VARE_UNDEFERR) ? var_Error : varNoError;
@@ -3475,7 +3475,7 @@
if (*tstr == '$') {
int rlen;
void *freeIt;
- char *rval = Var_Parse(tstr, ctxt, flags, &rlen, &freeIt);
+ const char *rval = Var_Parse(tstr, ctxt, flags, &rlen, &freeIt);
if (rval != NULL)
Buf_AddStr(&buf, rval);
free(freeIt);
@@ -3713,7 +3713,7 @@
Var_Subst(const char *var, const char *str, GNode *ctxt, VarEvalFlags flags)
{
Buffer buf; /* Buffer for forming things */
- char *val; /* Value to substitute for a variable */
Home |
Main Index |
Thread Index |
Old Index