Module Name: src
Committed By: rillig
Date: Thu Jul 2 16:14:50 UTC 2020
Modified Files:
src/usr.bin/make: var.c
Log Message:
make(1): clean up code in var.c
- remove redundant parentheses in return statements
- add missing space after comma
- remove some redundant parentheses around comparisons
- use hexadecimal numbers for bit mask constants
- remove Var_GetTail and Var_GetHead, which had been unused for 19 years
To generate a diff of this commit:
cvs rdiff -u -r1.230 -r1.231 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/var.c
diff -u src/usr.bin/make/var.c:1.230 src/usr.bin/make/var.c:1.231
--- src/usr.bin/make/var.c:1.230 Thu Jul 2 15:47:38 2020
+++ src/usr.bin/make/var.c Thu Jul 2 16:14:50 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.230 2020/07/02 15:47:38 rillig Exp $ */
+/* $NetBSD: var.c,v 1.231 2020/07/02 16:14:50 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.230 2020/07/02 15:47:38 rillig Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.231 2020/07/02 16:14: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.230 2020/07/02 15:47:38 rillig Exp $");
+__RCSID("$NetBSD: var.c,v 1.231 2020/07/02 16:14:50 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -196,20 +196,20 @@ GNode *VAR_CMD; /* variabl
#define FIND_ENV 0x4 /* look in the environment also */
typedef enum {
- VAR_IN_USE = 1, /* Variable's value is currently being used.
+ VAR_IN_USE = 0x01, /* Variable's value is currently being used.
* Used to avoid endless recursion */
- VAR_FROM_ENV = 2, /* Variable comes from the environment */
- VAR_JUNK = 4, /* Variable is a junk variable that
+ VAR_FROM_ENV = 0x02, /* Variable comes from the environment */
+ VAR_JUNK = 0x04, /* Variable is a junk variable that
* should be destroyed when done with
* it. Used by Var_Parse for undefined,
* modified variables */
- VAR_KEEP = 8, /* Variable is VAR_JUNK, but we found
+ VAR_KEEP = 0x08, /* Variable is VAR_JUNK, but we found
* a use for it in some modifier and
* the value is therefore valid */
- VAR_EXPORTED = 16, /* Variable is exported */
- VAR_REEXPORT = 32, /* Indicate if var needs re-export.
+ VAR_EXPORTED = 0x10, /* Variable is exported */
+ VAR_REEXPORT = 0x20, /* Indicate if var needs re-export.
* This would be true if it contains $'s */
- VAR_FROM_CMD = 64 /* Variable came from command line */
+ VAR_FROM_CMD = 0x40 /* Variable came from command line */
} Var_Flags;
typedef struct Var {
@@ -421,19 +421,19 @@ VarFind(const char *name, GNode *ctxt, i
*/
var = Hash_FindEntry(&ctxt->context, name);
- if ((var == NULL) && (flags & FIND_CMD) && (ctxt != VAR_CMD)) {
+ if (var == NULL && (flags & FIND_CMD) && ctxt != VAR_CMD) {
var = Hash_FindEntry(&VAR_CMD->context, name);
}
- if (!checkEnvFirst && (var == NULL) && (flags & FIND_GLOBAL) &&
- (ctxt != VAR_GLOBAL))
+ if (!checkEnvFirst && var == NULL && (flags & FIND_GLOBAL) &&
+ ctxt != VAR_GLOBAL)
{
var = Hash_FindEntry(&VAR_GLOBAL->context, name);
- if ((var == NULL) && (ctxt != VAR_INTERNAL)) {
+ if (var == NULL && ctxt != VAR_INTERNAL) {
/* VAR_INTERNAL is subordinate to VAR_GLOBAL */
var = Hash_FindEntry(&VAR_INTERNAL->context, name);
}
}
- if ((var == NULL) && (flags & FIND_ENV)) {
+ if (var == NULL && (flags & FIND_ENV)) {
char *env;
if ((env = getenv(name)) != NULL) {
@@ -448,18 +448,18 @@ VarFind(const char *name, GNode *ctxt, i
Buf_AddBytes(&v->val, len, env);
v->flags = VAR_FROM_ENV;
- return (v);
+ return v;
} else if (checkEnvFirst && (flags & FIND_GLOBAL) &&
- (ctxt != VAR_GLOBAL))
+ ctxt != VAR_GLOBAL)
{
var = Hash_FindEntry(&VAR_GLOBAL->context, name);
- if ((var == NULL) && (ctxt != VAR_INTERNAL)) {
+ if (var == NULL && ctxt != VAR_INTERNAL) {
var = Hash_FindEntry(&VAR_INTERNAL->context, name);
}
if (var == NULL) {
return NULL;
} else {
- return ((Var *)Hash_GetValue(var));
+ return (Var *)Hash_GetValue(var);
}
} else {
return NULL;
@@ -467,7 +467,7 @@ VarFind(const char *name, GNode *ctxt, i
} else if (var == NULL) {
return NULL;
} else {
- return ((Var *)Hash_GetValue(var));
+ return (Var *)Hash_GetValue(var);
}
}
@@ -558,7 +558,7 @@ Var_Delete(const char *name, GNode *ctxt
{
Hash_Entry *ln;
char *cp;
-
+
if (strchr(name, '$')) {
cp = Var_Subst(NULL, name, VAR_GLOBAL, VARF_WANTRES);
} else {
@@ -1073,7 +1073,7 @@ Var_Append(const char *name, const char
name = expanded_name;
}
- v = VarFind(name, ctxt, (ctxt == VAR_GLOBAL) ? (FIND_CMD|FIND_ENV) : 0);
+ v = VarFind(name, ctxt, ctxt == VAR_GLOBAL ? (FIND_CMD|FIND_ENV) : 0);
if (v == NULL) {
Var_Set(name, val, ctxt);
@@ -1130,11 +1130,11 @@ Var_Exists(const char *name, GNode *ctxt
v = VarFind(cp ? cp : name, ctxt, FIND_CMD|FIND_GLOBAL|FIND_ENV);
free(cp);
if (v == NULL) {
- return(FALSE);
- } else {
- (void)VarFreeEnv(v, TRUE);
+ return FALSE;
}
- return(TRUE);
+
+ (void)VarFreeEnv(v, TRUE);
+ return TRUE;
}
/*-
@@ -1156,18 +1156,17 @@ Var_Exists(const char *name, GNode *ctxt
char *
Var_Value(const char *name, GNode *ctxt, char **frp)
{
- Var *v;
+ Var *v;
v = VarFind(name, ctxt, FIND_ENV | FIND_GLOBAL | FIND_CMD);
*frp = NULL;
- if (v != NULL) {
- char *p = (Buf_GetAll(&v->val, NULL));
- if (VarFreeEnv(v, FALSE))
- *frp = p;
- return p;
- } else {
+ if (v == NULL)
return NULL;
- }
+
+ char *p = (Buf_GetAll(&v->val, NULL));
+ if (VarFreeEnv(v, FALSE))
+ *frp = p;
+ return p;
}
/*-
@@ -1206,7 +1205,7 @@ VarHead(GNode *ctx MAKE_ATTR_UNUSED, Var
*slash = '\0';
Buf_AddBytes(buf, strlen(word), word);
*slash = '/';
- return (TRUE);
+ return TRUE;
} else {
/*
* If no directory part, give . (q.v. the POSIX standard)
@@ -1380,7 +1379,7 @@ VarMatch(GNode *ctx MAKE_ATTR_UNUSED, Va
addSpace = TRUE;
Buf_AddBytes(buf, strlen(word), word);
}
- return(addSpace);
+ return addSpace;
}
#ifdef SYSVVARSUB
@@ -1431,7 +1430,7 @@ VarSYSVMatch(GNode *ctx, Var_Parse_State
Buf_AddBytes(buf, strlen(word), word);
}
- return(addSpace);
+ return addSpace;
}
#endif
@@ -1470,7 +1469,7 @@ VarNoMatch(GNode *ctx MAKE_ATTR_UNUSED,
addSpace = TRUE;
Buf_AddBytes(buf, strlen(word), word);
}
- return(addSpace);
+ return addSpace;
}
@@ -1639,14 +1638,14 @@ VarSubstitute(GNode *ctx MAKE_ATTR_UNUSE
*/
return ((Buf_Size(buf) != origSize) || addSpace);
}
- return (addSpace);
+ return addSpace;
}
nosub:
if (addSpace && vpstate->varSpace) {
Buf_AddByte(buf, vpstate->varSpace);
}
Buf_AddBytes(buf, wordLen, word);
- return(TRUE);
+ return TRUE;
}
#ifndef NO_REGEX
@@ -1732,7 +1731,7 @@ VarRESubstitute(GNode *ctx MAKE_ATTR_UNU
for (rp = pat->replace; *rp; rp++) {
if ((*rp == '\\') && ((rp[1] == '&') || (rp[1] == '\\'))) {
MAYBE_ADD_SPACE();
- Buf_AddByte(buf,rp[1]);
+ Buf_AddByte(buf, rp[1]);
rp++;
}
else if ((*rp == '&') ||
@@ -1800,11 +1799,11 @@ VarRESubstitute(GNode *ctx MAKE_ATTR_UNU
case REG_NOMATCH:
if (*wp) {
MAYBE_ADD_SPACE();
- Buf_AddBytes(buf,strlen(wp),wp);
+ Buf_AddBytes(buf, strlen(wp), wp);
}
break;
}
- return(addSpace||added);
+ return addSpace || added;
}
#endif
@@ -1959,7 +1958,7 @@ VarRealpath(GNode *ctx MAKE_ATTR_UNUSED,
struct stat st;
char rbuf[MAXPATHLEN];
char *rp;
-
+
if (addSpace && vpstate->varSpace) {
Buf_AddByte(buf, vpstate->varSpace);
}
@@ -1967,9 +1966,9 @@ VarRealpath(GNode *ctx MAKE_ATTR_UNUSED,
rp = cached_realpath(word, rbuf);
if (rp && *rp == '/' && stat(rp, &st) == 0)
word = rp;
-
+
Buf_AddBytes(buf, strlen(word), word);
- return(addSpace);
+ return addSpace;
}
/*-
@@ -3720,7 +3719,7 @@ ApplyModifiers(char *nstr, const char *t
}
out:
*lengthPtr = tstr - start;
- return (nstr);
+ return nstr;
bad_modifier:
/* "{(" */
@@ -3734,7 +3733,7 @@ ApplyModifiers(char *nstr, const char *t
v->name, delim);
free(*freePtr);
*freePtr = NULL;
- return (var_Error);
+ return var_Error;
}
/*-
@@ -3896,7 +3895,7 @@ Var_Parse(const char *str, GNode *ctxt,
*/
*lengthPtr = tstr - str;
Buf_Destroy(&buf, TRUE);
- return (var_Error);
+ return var_Error;
}
str = Buf_GetAll(&buf, &vlen);
@@ -3984,7 +3983,7 @@ Var_Parse(const char *str, GNode *ctxt,
char *pstr = bmake_strndup(start, *lengthPtr);
*freePtr = pstr;
Buf_Destroy(&buf, TRUE);
- return(pstr);
+ return pstr;
} else {
Buf_Destroy(&buf, TRUE);
return (flags & VARF_UNDEFERR) ? var_Error : varNoError;
@@ -4091,7 +4090,7 @@ Var_Parse(const char *str, GNode *ctxt,
free(v->name);
free(v);
}
- return (nstr);
+ return nstr;
}
/*-
@@ -4241,8 +4240,8 @@ Var_Subst(const char *var, const char *s
* when the file is parsed.
*/
if (!errorReported) {
- Parse_Error(PARSE_FATAL,
- "Undefined variable \"%.*s\"",length,str);
+ Parse_Error(PARSE_FATAL, "Undefined variable \"%.*s\"",
+ length, str);
}
str += length;
errorReported = TRUE;
@@ -4275,55 +4274,6 @@ Var_Subst(const char *var, const char *s
/*-
*-----------------------------------------------------------------------
- * Var_GetTail --
- * Return the tail from each of a list of words. Used to set the
- * System V local variables.
- *
- * Input:
- * file Filename to modify
- *
- * Results:
- * The resulting string.
- *
- * Side Effects:
- * None.
- *
- *-----------------------------------------------------------------------
- */
-#if 0
-char *
-Var_GetTail(char *file)
-{
- return(VarModify(file, VarTail, NULL));
-}
-
-/*-
- *-----------------------------------------------------------------------
- * Var_GetHead --
- * Find the leading components of a (list of) filename(s).
- * XXX: VarHead does not replace foo by ., as (sun) System V make
- * does.
- *
- * Input:
- * file Filename to manipulate
- *
- * Results:
- * The leading components.
- *
- * Side Effects:
- * None.
- *
- *-----------------------------------------------------------------------
- */
-char *
-Var_GetHead(char *file)
-{
- return(VarModify(file, VarHead, NULL));
-}
-#endif
-
-/*-
- *-----------------------------------------------------------------------
* Var_Init --
* Initialize the module
*
@@ -4340,7 +4290,6 @@ Var_Init(void)
VAR_INTERNAL = Targ_NewGN("Internal");
VAR_GLOBAL = Targ_NewGN("Global");
VAR_CMD = Targ_NewGN("Command");
-
}