Module Name: src Committed By: rillig Date: Thu Nov 2 05:55:22 UTC 2023
Modified Files: src/usr.bin/make: main.c parse.c var.c Log Message: make: miscellaneous cleanups No functional change. To generate a diff of this commit: cvs rdiff -u -r1.602 -r1.603 src/usr.bin/make/main.c cvs rdiff -u -r1.708 -r1.709 src/usr.bin/make/parse.c cvs rdiff -u -r1.1066 -r1.1067 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/main.c diff -u src/usr.bin/make/main.c:1.602 src/usr.bin/make/main.c:1.603 --- src/usr.bin/make/main.c:1.602 Thu Nov 2 05:40:49 2023 +++ src/usr.bin/make/main.c Thu Nov 2 05:55:22 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.602 2023/11/02 05:40:49 rillig Exp $ */ +/* $NetBSD: main.c,v 1.603 2023/11/02 05:55:22 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -111,8 +111,8 @@ #include "trace.h" /* "@(#)main.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: main.c,v 1.602 2023/11/02 05:40:49 rillig Exp $"); -#if defined(MAKE_NATIVE) && !defined(lint) +MAKE_RCSID("$NetBSD: main.c,v 1.603 2023/11/02 05:55:22 rillig Exp $"); +#if defined(MAKE_NATIVE) __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 " "The Regents of the University of California. " "All rights reserved."); @@ -439,7 +439,7 @@ MainParseArgJobs(const char *arg) static void MainParseArgSysInc(const char *argvalue) { - if (strncmp(".../", argvalue, 4) == 0) { + if (strncmp(argvalue, ".../", 4) == 0) { char *found_path = Dir_FindHereOrAbove(curdir, argvalue + 4); if (found_path == NULL) return; @@ -686,18 +686,18 @@ Main_ParseArgLine(const char *line) { Words words; char *buf; + const char *p; if (line == NULL) return; - /* XXX: don't use line as an iterator variable */ - for (; *line == ' '; line++) + for (p = line; *p == ' '; p++) continue; - if (line[0] == '\0') + if (p[0] == '\0') return; { FStr argv0 = Var_Value(SCOPE_GLOBAL, ".MAKE"); - buf = str_concat3(argv0.str, " ", line); + buf = str_concat3(argv0.str, " ", p); FStr_Done(&argv0); } Index: src/usr.bin/make/parse.c diff -u src/usr.bin/make/parse.c:1.708 src/usr.bin/make/parse.c:1.709 --- src/usr.bin/make/parse.c:1.708 Thu Nov 2 05:40:49 2023 +++ src/usr.bin/make/parse.c Thu Nov 2 05:55:22 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.708 2023/11/02 05:40:49 rillig Exp $ */ +/* $NetBSD: parse.c,v 1.709 2023/11/02 05:55:22 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -105,7 +105,7 @@ #include "pathnames.h" /* "@(#)parse.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: parse.c,v 1.708 2023/11/02 05:40:49 rillig Exp $"); +MAKE_RCSID("$NetBSD: parse.c,v 1.709 2023/11/02 05:55:22 rillig Exp $"); /* Detects a multiple-inclusion guard in a makefile. */ typedef enum { @@ -235,7 +235,7 @@ static StringList targCmds = LST_INIT; */ static GNode *order_pred; -static int parseErrors = 0; +static int parseErrors; /* * The include chain of makefiles. At index 0 is the top-level makefile from @@ -858,7 +858,8 @@ MaybeUpdateMainTarget(void) for (ln = targets->first; ln != NULL; ln = ln->next) { GNode *gn = ln->datum; if (GNode_IsMainCandidate(gn)) { - DEBUG1(MAKE, "Setting main node to \"%s\"\n", gn->name); + DEBUG1(MAKE, "Setting main node to \"%s\"\n", + gn->name); mainNode = gn; return; } @@ -880,31 +881,31 @@ InvalidLineType(const char *line, const } else if (strcmp(line, unexpanded_line) == 0) Parse_Error(PARSE_FATAL, "Invalid line '%s'", line); else - Parse_Error(PARSE_FATAL, "Invalid line '%s', expanded to '%s'", + Parse_Error(PARSE_FATAL, + "Invalid line '%s', expanded to '%s'", unexpanded_line, line); } static void ParseDependencyTargetWord(char **pp, const char *lstart) { - const char *cp = *pp; + const char *p = *pp; - while (*cp != '\0') { - if ((ch_isspace(*cp) || *cp == '!' || *cp == ':' || - *cp == '(') && - !IsEscaped(lstart, cp)) + while (*p != '\0') { + if ((ch_isspace(*p) || *p == '!' || *p == ':' || *p == '(') + && !IsEscaped(lstart, p)) break; - if (*cp == '$') { - FStr val = Var_Parse(&cp, SCOPE_CMDLINE, + if (*p == '$') { + FStr val = Var_Parse(&p, SCOPE_CMDLINE, VARE_PARSE_ONLY); /* TODO: handle errors */ FStr_Done(&val); } else - cp++; + p++; } - *pp += cp - *pp; + *pp += p - *pp; } /* @@ -1331,6 +1332,7 @@ ParseDependencySourceSpecial(ParseSpecia Suff_AddSuffix(word); break; case SP_PATH: + case SP_SYSPATH: AddToPaths(word, paths); break; case SP_INCLUDES: @@ -1351,9 +1353,6 @@ ParseDependencySourceSpecial(ParseSpecia case SP_READONLY: Var_ReadOnly(word, true); break; - case SP_SYSPATH: - AddToPaths(word, paths); - break; default: break; } @@ -1364,7 +1363,7 @@ ApplyDependencyTarget(char *name, char * GNodeType *inout_targetAttr, SearchPathList **inout_paths) { - char savec = *nameEnd; + char savedNameEnd = *nameEnd; *nameEnd = '\0'; if (!HandleDependencyTarget(name, inout_special, @@ -1376,7 +1375,7 @@ ApplyDependencyTarget(char *name, char * else if (*inout_special == SP_PATH && *name != '.' && *name != '\0') Parse_Error(PARSE_WARNING, "Extra target (%s) ignored", name); - *nameEnd = savec; + *nameEnd = savedNameEnd; return true; } @@ -1438,17 +1437,17 @@ static void ParseDependencySourcesSpecial(char *start, ParseSpecial special, SearchPathList *paths) { - char savec; while (*start != '\0') { + char savedEnd; char *end = start; while (*end != '\0' && !ch_isspace(*end)) end++; - savec = *end; + savedEnd = *end; *end = '\0'; ParseDependencySourceSpecial(special, start, paths); - *end = savec; - if (savec != '\0') + *end = savedEnd; + if (savedEnd != '\0') end++; pp_skip_whitespace(&end); start = end; @@ -1477,17 +1476,13 @@ ParseDependencySourcesMundane(char *star * rest of the line is the value. */ if (Parse_IsVar(start, &var)) { - /* - * Check if this makefile has disabled - * setting local variables. - */ - bool target_vars = GetBooleanExpr( + bool targetVarsEnabled = GetBooleanExpr( "${.MAKE.TARGET_LOCAL_VARIABLES}", true); - if (target_vars) + if (targetVarsEnabled) LinkVarToTargets(&var); free(var.varname); - if (target_vars) + if (targetVarsEnabled) return true; } @@ -1792,14 +1787,14 @@ Parse_IsVar(const char *p, VarAssign *ou * Check for syntax errors such as unclosed expressions or unknown modifiers. */ static void -VarCheckSyntax(VarAssignOp type, const char *uvalue, GNode *scope) +VarCheckSyntax(VarAssignOp op, const char *uvalue, GNode *scope) { if (opts.strict) { - if (type != VAR_SUBST && strchr(uvalue, '$') != NULL) { - char *expandedValue = Var_Subst(uvalue, + if (op != VAR_SUBST && strchr(uvalue, '$') != NULL) { + char *parsedValue = Var_Subst(uvalue, scope, VARE_PARSE_ONLY); /* TODO: handle errors */ - free(expandedValue); + free(parsedValue); } } } @@ -1976,21 +1971,12 @@ GNode_AddCommand(GNode *gn, char *cmd) gn->type |= OP_SUBMAKE; RememberLocation(gn); } else { -#if 0 - /* XXX: We cannot do this until we fix the tree */ - Lst_Append(&gn->commands, cmd); - Parse_Error(PARSE_WARNING, - "overriding commands for target \"%s\"; " - "previous commands defined at %s: %u ignored", - gn->name, gn->fname, gn->lineno); -#else Parse_Error(PARSE_WARNING, "duplicate script for target \"%s\" ignored", gn->name); ParseErrorInternal(gn, PARSE_WARNING, "using previous script for \"%s\" defined here", gn->name); -#endif } } @@ -2017,10 +2003,7 @@ ParseInclude(char *directive) return; } - if (*p++ == '<') - endc = '>'; - else - endc = '"'; + endc = *p++ == '<' ? '>' : '"'; file = FStr_InitRefer(p); while (*p != '\0' && *p != endc) Index: src/usr.bin/make/var.c diff -u src/usr.bin/make/var.c:1.1066 src/usr.bin/make/var.c:1.1067 --- src/usr.bin/make/var.c:1.1066 Thu Nov 2 05:40:49 2023 +++ src/usr.bin/make/var.c Thu Nov 2 05:55:22 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.1066 2023/11/02 05:40:49 rillig Exp $ */ +/* $NetBSD: var.c,v 1.1067 2023/11/02 05:55:22 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.1066 2023/11/02 05:40:49 rillig Exp $"); +MAKE_RCSID("$NetBSD: var.c,v 1.1067 2023/11/02 05:55:22 rillig Exp $"); /* * Variables are defined using one of the VAR=value assignments. Their @@ -706,9 +706,9 @@ Var_ReexportVars(void) * We allow the makefiles to update MAKELEVEL and ensure * children see a correctly incremented value. */ - char tmp[21]; - snprintf(tmp, sizeof tmp, "%d", makelevel + 1); - setenv(MAKE_LEVEL_ENV, tmp, 1); + char level_buf[21]; + snprintf(level_buf, sizeof level_buf, "%d", makelevel + 1); + setenv(MAKE_LEVEL_ENV, level_buf, 1); if (var_exportedVars == VAR_EXPORTED_NONE) return; @@ -2618,11 +2618,11 @@ ApplyModifier_Path(const char **pp, ModC Expr_Define(expr); gn = Targ_FindNode(expr->name); - if (gn == NULL || gn->type & OP_NOPATH) { + if (gn == NULL || gn->type & OP_NOPATH) path = NULL; - } else if (gn->path != NULL) { + else if (gn->path != NULL) path = bmake_strdup(gn->path); - } else { + else { SearchPath *searchPath = Suff_FindPath(gn); path = Dir_FindFile(expr->name, searchPath); } @@ -3372,7 +3372,7 @@ SubNumAsc(const void *sa, const void *sb a = num_val(*((const Substring *)sa)); b = num_val(*((const Substring *)sb)); - return (a > b) ? 1 : (b > a) ? -1 : 0; + return a > b ? 1 : b > a ? -1 : 0; } static int @@ -3677,7 +3677,7 @@ ApplyModifier_Unique(const char **pp, Mo words = Expr_Words(ch->expr); if (words.len > 1) { - size_t si, di; + size_t di, si; di = 0; for (si = 1; si < words.len; si++) {