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): use consistent and descriptive names f...
details: https://anonhg.NetBSD.org/src/rev/5862111ddc73
branches: trunk
changeset: 936221:5862111ddc73
user: rillig <rillig%NetBSD.org@localhost>
date: Tue Jul 21 20:56:56 2020 +0000
description:
make(1): use consistent and descriptive names for callback functions
diffstat:
usr.bin/make/var.c | 310 +++++++++++++++++++++++++---------------------------
1 files changed, 147 insertions(+), 163 deletions(-)
diffs (truncated from 618 to 300 lines):
diff -r 2812c67eab3c -r 5862111ddc73 usr.bin/make/var.c
--- a/usr.bin/make/var.c Tue Jul 21 20:08:44 2020 +0000
+++ b/usr.bin/make/var.c Tue Jul 21 20:56:56 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.290 2020/07/21 20:08:44 rillig Exp $ */
+/* $NetBSD: var.c,v 1.291 2020/07/21 20:56:56 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.290 2020/07/21 20:08:44 rillig Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.291 2020/07/21 20:56:56 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.290 2020/07/21 20:08:44 rillig Exp $");
+__RCSID("$NetBSD: var.c,v 1.291 2020/07/21 20:56:56 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -262,33 +262,6 @@
* several space-separated words). */
} Var_Parse_State;
-/* struct passed as 'void *' to VarSubstitute() for ":S/lhs/rhs/" */
-typedef struct {
- const char *lhs;
- size_t lhsLen;
- const char *rhs;
- size_t rhsLen;
- VarPatternFlags pflags;
-} VarSubstituteArgs;
-
-/* struct passed as 'void *' to VarLoopExpand() for ":@tvar@str@" */
-typedef struct {
- char *tvar; /* name of temporary variable */
- char *str; /* string to expand */
- VarEvalFlags eflags;
-} VarLoop;
-
-#ifndef NO_REGEX
-/* struct passed as 'void *' to VarRESubstitute() for ":C///" */
-typedef struct {
- regex_t re;
- int nsub;
- regmatch_t *matches;
- char *replace;
- VarPatternFlags pflags;
-} VarREPattern;
-#endif
-
#define BROPEN '{'
#define BRCLOSE '}'
#define PROPEN '('
@@ -1135,18 +1108,18 @@
}
-/* This callback for VarModify gets a single word from an expression and
+/* This callback for ModifyWords gets a single word from an expression and
* typically adds a modification of this word to the buffer. It may also do
* nothing or add several words. */
-typedef void (*VarModifyCallback)(GNode *ctxt, const char *word, SepBuf *buf,
- void *data);
-
-
-/* Callback function for VarModify to implement the :H modifier.
+typedef void (*ModifyWordsCallback)(GNode *ctxt, const char *word,
+ SepBuf *buf, void *data);
+
+
+/* Callback for ModifyWords to implement the :H modifier.
* Add the dirname of the given word to the buffer. */
static void
-VarHead(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf,
- void *dummy MAKE_ATTR_UNUSED)
+ModifyWord_Head(GNode *ctx MAKE_ATTR_UNUSED, const char *word,
+ SepBuf *buf, void *dummy MAKE_ATTR_UNUSED)
{
const char *slash = strrchr(word, '/');
if (slash != NULL)
@@ -1155,44 +1128,44 @@
SepBuf_AddBytes(buf, ".", 1);
}
-/* Callback function for VarModify to implement the :T modifier.
+/* Callback for ModifyWords to implement the :T modifier.
* Add the basename of the given word to the buffer. */
static void
-VarTail(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf,
- void *dummy MAKE_ATTR_UNUSED)
+ModifyWord_Tail(GNode *ctx MAKE_ATTR_UNUSED, const char *word,
+ SepBuf *buf, void *dummy MAKE_ATTR_UNUSED)
{
const char *slash = strrchr(word, '/');
const char *base = slash != NULL ? slash + 1 : word;
SepBuf_AddBytes(buf, base, strlen(base));
}
-/* Callback function for VarModify to implement the :E modifier.
+/* Callback for ModifyWords to implement the :E modifier.
* Add the filename suffix of the given word to the buffer, if it exists. */
static void
-VarSuffix(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf,
- void *dummy MAKE_ATTR_UNUSED)
+ModifyWord_Suffix(GNode *ctx MAKE_ATTR_UNUSED, const char *word,
+ SepBuf *buf, void *dummy MAKE_ATTR_UNUSED)
{
const char *dot = strrchr(word, '.');
if (dot != NULL)
SepBuf_AddBytes(buf, dot + 1, strlen(dot + 1));
}
-/* Callback function for VarModify to implement the :R modifier.
- * Add the filename basename of the given word to the buffer. */
+/* Callback for ModifyWords to implement the :R modifier.
+ * Add the basename of the given word to the buffer. */
static void
-VarRoot(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf,
- void *dummy MAKE_ATTR_UNUSED)
+ModifyWord_Root(GNode *ctx MAKE_ATTR_UNUSED, const char *word,
+ SepBuf *buf, void *dummy MAKE_ATTR_UNUSED)
{
char *dot = strrchr(word, '.');
size_t len = dot != NULL ? (size_t)(dot - word) : strlen(word);
SepBuf_AddBytes(buf, word, len);
}
-/* Callback function for VarModify to implement the :M modifier.
+/* Callback for ModifyWords to implement the :M modifier.
* Place the word in the buffer if it matches the given pattern. */
static void
-VarMatch(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf,
- void *data)
+ModifyWord_Match(GNode *ctx MAKE_ATTR_UNUSED, const char *word,
+ SepBuf *buf, void *data)
{
const char *pattern = data;
if (DEBUG(VAR))
@@ -1201,6 +1174,17 @@
SepBuf_AddBytes(buf, word, strlen(word));
}
+/* Callback for ModifyWords to implement the :N modifier.
+ * Place the word in the buffer if it doesn't match the given pattern. */
+static void
+ModifyWord_NoMatch(GNode *ctx MAKE_ATTR_UNUSED, const char *word,
+ SepBuf *buf, void *data)
+{
+ const char *pattern = data;
+ if (!Str_Match(word, pattern))
+ SepBuf_AddBytes(buf, word, strlen(word));
+}
+
#ifdef SYSVVARSUB
/*-
*-----------------------------------------------------------------------
@@ -1302,13 +1286,13 @@
typedef struct {
const char *lhs;
const char *rhs;
-} VarSYSVSubstArgs;
-
-/* Callback function for VarModify to implement the :%.from=%.to modifier. */
+} ModifyWord_SYSVSubstArgs;
+
+/* Callback for ModifyWords to implement the :%.from=%.to modifier. */
static void
-VarSYSVSubst(GNode *ctx, const char *word, SepBuf *buf, void *data)
+ModifyWord_SYSVSubst(GNode *ctx, const char *word, SepBuf *buf, void *data)
{
- const VarSYSVSubstArgs *args = data;
+ const ModifyWord_SYSVSubstArgs *args = data;
size_t len;
Boolean hasPercent;
@@ -1323,25 +1307,23 @@
}
#endif
-/* Callback function for VarModify to implement the :N modifier.
- * Place the word in the buffer if it doesn't match the given pattern. */
-static void
-VarNoMatch(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf,
- void *data)
-{
- const char *pattern = data;
- if (!Str_Match(word, pattern))
- SepBuf_AddBytes(buf, word, strlen(word));
-}
-
-/* Callback function for VarModify to implement the :S,from,to, modifier.
+
+typedef struct {
+ const char *lhs;
+ size_t lhsLen;
+ const char *rhs;
+ size_t rhsLen;
+ VarPatternFlags pflags;
+} ModifyWord_SubstArgs;
+
+/* Callback for ModifyWords to implement the :S,from,to, modifier.
* Perform a string substitution on the given word. */
static void
-VarSubstitute(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf,
- void *data)
+ModifyWord_Subst(GNode *ctx MAKE_ATTR_UNUSED, const char *word,
+ SepBuf *buf, void *data)
{
size_t wordLen = strlen(word);
- VarSubstituteArgs *args = data;
+ ModifyWord_SubstArgs *args = data;
const VarPatternFlags pflags = args->pflags;
if ((pflags & (VARP_SUB_ONE | VARP_SUB_MATCHED)) ==
@@ -1419,13 +1401,21 @@
free(errbuf);
}
-/* Callback function for VarModify to implement the :C/from/to/ modifier.
+typedef struct {
+ regex_t re;
+ int nsub;
+ regmatch_t *matches;
+ char *replace;
+ VarPatternFlags pflags;
+} ModifyWord_SubstRegexArgs;
+
+/* Callback for ModifyWords to implement the :C/from/to/ modifier.
* Perform a regex substitution on the given word. */
static void
-VarRESubstitute(GNode *ctx MAKE_ATTR_UNUSED, const char *word, SepBuf *buf,
- void *data)
+ModifyWord_SubstRegex(GNode *ctx MAKE_ATTR_UNUSED, const char *word,
+ SepBuf *buf, void *data)
{
- VarREPattern *pat = data;
+ ModifyWord_SubstRegexArgs *pat = data;
int xrv;
const char *wp = word;
char *rp;
@@ -1511,19 +1501,25 @@
#endif
-/* Callback for VarModify to implement the :@var@...@ modifier of ODE make. */
+typedef struct {
+ char *tvar; /* name of temporary variable */
+ char *str; /* string to expand */
+ VarEvalFlags eflags;
+} ModifyWord_LoopArgs;
+
+/* Callback for ModifyWords to implement the :@var@...@ modifier of ODE make. */
static void
-VarLoopExpand(GNode *ctx, const char *word, SepBuf *buf, void *data)
+ModifyWord_Loop(GNode *ctx, const char *word, SepBuf *buf, void *data)
{
if (word[0] == '\0')
return;
- const VarLoop *loop = data;
+ const ModifyWord_LoopArgs *loop = data;
Var_Set_with_flags(loop->tvar, word, ctx, VAR_NO_EXPORT);
char *s = Var_Subst(NULL, loop->str, ctx, loop->eflags);
if (DEBUG(VAR)) {
fprintf(debug_file,
- "VarLoopExpand: in \"%s\", replace \"%s\" with \"%s\" "
+ "ModifyWord_Loop: in \"%s\", replace \"%s\" with \"%s\" "
"to \"%s\"\n",
word, loop->tvar, loop->str, s ? s : "(null)");
}
@@ -1539,23 +1535,9 @@
/*-
- *-----------------------------------------------------------------------
- * VarSelectWords --
- * Implements the :[start..end] modifier.
- * This is a special case of VarModify since we want to be able
- * to scan the list backwards if start > end.
- *
- * Input:
- * str String whose words should be trimmed
- * seldata words to select
- *
- * Results:
- * A string of all the words selected.
- *
- * Side Effects:
- * None.
- *
- *-----------------------------------------------------------------------
+ * Implements the :[first..last] modifier.
+ * This is a special case of VarModify since we want to be able
Home |
Main Index |
Thread Index |
Old Index