Module Name: src
Committed By: rillig
Date: Mon Jul 27 23:24:55 UTC 2020
Modified Files:
src/usr.bin/make: var.c
Log Message:
make(1): rename ApplyModifiersState.cp to next
The name "next" is more descriptive than a mere "cp". It's easy to look
up the type of the variable, but not so easy to guess the purpose of the
variable, therefore the new name concentrates on the purpose.
To generate a diff of this commit:
cvs rdiff -u -r1.347 -r1.348 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.347 src/usr.bin/make/var.c:1.348
--- src/usr.bin/make/var.c:1.347 Mon Jul 27 23:04:18 2020
+++ src/usr.bin/make/var.c Mon Jul 27 23:24:55 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.347 2020/07/27 23:04:18 rillig Exp $ */
+/* $NetBSD: var.c,v 1.348 2020/07/27 23:24:55 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.347 2020/07/27 23:04:18 rillig Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.348 2020/07/27 23:24:55 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.347 2020/07/27 23:04:18 rillig Exp $");
+__RCSID("$NetBSD: var.c,v 1.348 2020/07/27 23:24:55 rillig Exp $");
#endif
#endif /* not lint */
#endif
@@ -2046,7 +2046,7 @@ typedef struct {
/* read-write */
char *nstr;
- const char *cp; /* The position where parsing continues
+ const char *next; /* The position where parsing continues
* after the current modifier. */
char termc; /* Character which terminated scan */
char missing_delim; /* For error reporting */
@@ -2085,23 +2085,23 @@ ApplyModifier_Loop(const char *mod, Appl
ModifyWord_LoopArgs args;
args.ctx = st->ctxt;
- st->cp = mod + 1;
+ st->next = mod + 1;
char delim = '@';
- args.tvar = ParseModifierPart(&st->cp, delim, st->eflags & ~VARE_WANTRES,
+ args.tvar = ParseModifierPart(&st->next, delim, st->eflags & ~VARE_WANTRES,
st->ctxt, NULL, NULL, NULL);
if (args.tvar == NULL) {
st->missing_delim = delim;
return FALSE;
}
- args.str = ParseModifierPart(&st->cp, delim, st->eflags & ~VARE_WANTRES,
+ args.str = ParseModifierPart(&st->next, delim, st->eflags & ~VARE_WANTRES,
st->ctxt, NULL, NULL, NULL);
if (args.str == NULL) {
st->missing_delim = delim;
return FALSE;
}
- st->termc = *st->cp;
+ st->termc = *st->next;
args.eflags = st->eflags & (VARE_UNDEFERR | VARE_WANTRES);
int prev_sep = st->sep;
@@ -2167,8 +2167,8 @@ ApplyModifier_Defined(const char *mod, A
}
}
- st->cp = p;
- st->termc = *st->cp;
+ st->next = p;
+ st->termc = *st->next;
if (st->v->flags & VAR_JUNK)
st->v->flags |= VAR_KEEP;
@@ -2185,7 +2185,7 @@ static Boolean
ApplyModifier_Gmtime(const char *mod, ApplyModifiersState *st)
{
if (!ModMatchEq(mod, "gmtime", st->endc)) {
- st->cp = mod + 1;
+ st->next = mod + 1;
return FALSE;
}
@@ -2193,13 +2193,13 @@ ApplyModifier_Gmtime(const char *mod, Ap
if (mod[6] == '=') {
char *ep;
utc = strtoul(mod + 7, &ep, 10);
- st->cp = ep;
+ st->next = ep;
} else {
utc = 0;
- st->cp = mod + 6;
+ st->next = mod + 6;
}
st->newStr = VarStrftime(st->nstr, 1, utc);
- st->termc = *st->cp;
+ st->termc = *st->next;
return TRUE;
}
@@ -2208,7 +2208,7 @@ static Boolean
ApplyModifier_Localtime(const char *mod, ApplyModifiersState *st)
{
if (!ModMatchEq(mod, "localtime", st->endc)) {
- st->cp = mod + 1;
+ st->next = mod + 1;
return FALSE;
}
@@ -2216,13 +2216,13 @@ ApplyModifier_Localtime(const char *mod,
if (mod[9] == '=') {
char *ep;
utc = strtoul(mod + 10, &ep, 10);
- st->cp = ep;
+ st->next = ep;
} else {
utc = 0;
- st->cp = mod + 9;
+ st->next = mod + 9;
}
st->newStr = VarStrftime(st->nstr, 0, utc);
- st->termc = *st->cp;
+ st->termc = *st->next;
return TRUE;
}
@@ -2231,13 +2231,13 @@ static Boolean
ApplyModifier_Hash(const char *mod, ApplyModifiersState *st)
{
if (!ModMatch(mod, "hash", st->endc)) {
- st->cp = mod + 1;
+ st->next = mod + 1;
return FALSE;
}
st->newStr = VarHash(st->nstr);
- st->cp = mod + 4;
- st->termc = *st->cp;
+ st->next = mod + 4;
+ st->termc = *st->next;
return TRUE;
}
@@ -2257,17 +2257,17 @@ ApplyModifier_Path(const char *mod, Appl
}
if (!st->newStr)
st->newStr = bmake_strdup(st->v->name);
- st->cp = mod + 1;
- st->termc = *st->cp;
+ st->next = mod + 1;
+ st->termc = *st->next;
}
/* :!cmd! */
static Boolean
ApplyModifier_Exclam(const char *mod, ApplyModifiersState *st)
{
- st->cp = mod + 1;
+ st->next = mod + 1;
char delim = '!';
- char *cmd = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ char *cmd = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
NULL, NULL, NULL);
if (cmd == NULL) {
st->missing_delim = delim;
@@ -2284,7 +2284,7 @@ ApplyModifier_Exclam(const char *mod, Ap
if (emsg)
Error(emsg, st->nstr);
- st->termc = *st->cp;
+ st->termc = *st->next;
if (st->v->flags & VAR_JUNK)
st->v->flags |= VAR_KEEP;
return TRUE;
@@ -2295,7 +2295,7 @@ static Boolean
ApplyModifier_Range(const char *mod, ApplyModifiersState *st)
{
if (!ModMatchEq(mod, "range", st->endc)) {
- st->cp = mod + 1;
+ st->next = mod + 1;
return FALSE;
}
@@ -2303,13 +2303,13 @@ ApplyModifier_Range(const char *mod, App
if (mod[5] == '=') {
char *ep;
n = strtoul(mod + 6, &ep, 10);
- st->cp = ep;
+ st->next = ep;
} else {
n = 0;
- st->cp = mod + 5;
+ st->next = mod + 5;
}
st->newStr = VarRange(st->nstr, n);
- st->termc = *st->cp;
+ st->termc = *st->next;
return TRUE;
}
@@ -2344,9 +2344,9 @@ ApplyModifier_Match(const char *mod, App
break;
}
}
- st->cp = p;
- st->termc = *st->cp;
- const char *endpat = st->cp;
+ st->next = p;
+ st->termc = *st->next;
+ const char *endpat = st->next;
char *pattern;
if (copy) {
@@ -2397,19 +2397,19 @@ ApplyModifier_Subst(const char * const m
Boolean oneBigWord = st->oneBigWord;
char delim = mod[1];
- st->cp = mod + 2;
+ st->next = mod + 2;
/*
* If pattern begins with '^', it is anchored to the
* start of the word -- skip over it and flag pattern.
*/
args.pflags = 0;
- if (*st->cp == '^') {
+ if (*st->next == '^') {
args.pflags |= VARP_ANCHOR_START;
- st->cp++;
+ st->next++;
}
- char *lhs = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ char *lhs = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
&args.lhsLen, &args.pflags, NULL);
if (lhs == NULL) {
st->missing_delim = delim;
@@ -2417,7 +2417,7 @@ ApplyModifier_Subst(const char * const m
}
args.lhs = lhs;
- char *rhs = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ char *rhs = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
&args.rhsLen, NULL, &args);
if (rhs == NULL) {
st->missing_delim = delim;
@@ -2430,8 +2430,8 @@ ApplyModifier_Subst(const char * const m
* delimiter, substitution is global and is marked that
* way.
*/
- for (;; st->cp++) {
- switch (*st->cp) {
+ for (;; st->next++) {
+ switch (*st->next) {
case 'g':
args.pflags |= VARP_SUB_GLOBAL;
continue;
@@ -2445,7 +2445,7 @@ ApplyModifier_Subst(const char * const m
break;
}
- st->termc = *st->cp;
+ st->termc = *st->next;
st->newStr = ModifyWords(st->ctxt, st->sep, oneBigWord, st->nstr,
ModifyWord_Subst, &args);
@@ -2466,16 +2466,16 @@ ApplyModifier_Regex(const char *mod, App
Boolean oneBigWord = st->oneBigWord;
char delim = mod[1];
- st->cp = mod + 2;
+ st->next = mod + 2;
- char *re = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ char *re = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
NULL, NULL, NULL);
if (re == NULL) {
st->missing_delim = delim;
return FALSE;
}
- args.replace = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ args.replace = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
NULL, NULL, NULL);
if (args.replace == NULL) {
free(re);
@@ -2483,8 +2483,8 @@ ApplyModifier_Regex(const char *mod, App
return FALSE;
}
- for (;; st->cp++) {
- switch (*st->cp) {
+ for (;; st->next++) {
+ switch (*st->next) {
case 'g':
args.pflags |= VARP_SUB_GLOBAL;
continue;
@@ -2498,7 +2498,7 @@ ApplyModifier_Regex(const char *mod, App
break;
}
- st->termc = *st->cp;
+ st->termc = *st->next;
int error = regcomp(&args.re, re, REG_EXTENDED);
free(re);
@@ -2534,11 +2534,11 @@ ApplyModifier_ToSep(const char *sep, App
if (sep[0] != st->endc && (sep[1] == st->endc || sep[1] == ':')) {
/* ":ts<unrecognised><endc>" or ":ts<unrecognised>:" */
st->sep = sep[0];
- st->cp = sep + 1;
+ st->next = sep + 1;
} else if (sep[0] == st->endc || sep[0] == ':') {
/* ":ts<endc>" or ":ts:" */
st->sep = '\0'; /* no separator */
- st->cp = sep;
+ st->next = sep;
} else if (sep[0] == '\\') {
const char *xp = sep + 1;
int base = 8; /* assume octal */
@@ -2546,11 +2546,11 @@ ApplyModifier_ToSep(const char *sep, App
switch (sep[1]) {
case 'n':
st->sep = '\n';
- st->cp = sep + 2;
+ st->next = sep + 2;
break;
case 't':
st->sep = '\t';
- st->cp = sep + 2;
+ st->next = sep + 2;
break;
case 'x':
base = 16;
@@ -2568,14 +2568,14 @@ ApplyModifier_ToSep(const char *sep, App
st->sep = strtoul(sep + 1 + (sep[1] == 'x'), &end, base);
if (*end != ':' && *end != st->endc)
return FALSE;
- st->cp = end;
+ st->next = end;
break;
}
} else {
return FALSE; /* Found ":ts<unrecognised><unrecognised>". */
}
- st->termc = *st->cp;
+ st->termc = *st->next;
st->newStr = ModifyWords(st->ctxt, st->sep, st->oneBigWord, st->nstr,
ModifyWord_Copy, NULL);
return TRUE;
@@ -2585,7 +2585,7 @@ ApplyModifier_ToSep(const char *sep, App
static Boolean
ApplyModifier_To(const char *mod, ApplyModifiersState *st)
{
- st->cp = mod + 1; /* make sure it is set */
+ st->next = mod + 1; /* make sure it is set */
if (mod[1] == st->endc || mod[1] == ':')
return FALSE; /* Found ":t<endc>" or ":t:". */
@@ -2599,25 +2599,25 @@ ApplyModifier_To(const char *mod, ApplyM
if (mod[1] == 'A') { /* absolute path */
st->newStr = ModifyWords(st->ctxt, st->sep, st->oneBigWord, st->nstr,
ModifyWord_Realpath, NULL);
- st->cp = mod + 2;
- st->termc = *st->cp;
+ st->next = mod + 2;
+ st->termc = *st->next;
} else if (mod[1] == 'u') {
char *dp = bmake_strdup(st->nstr);
for (st->newStr = dp; *dp; dp++)
*dp = toupper((unsigned char)*dp);
- st->cp = mod + 2;
- st->termc = *st->cp;
+ st->next = mod + 2;
+ st->termc = *st->next;
} else if (mod[1] == 'l') {
char *dp = bmake_strdup(st->nstr);
for (st->newStr = dp; *dp; dp++)
*dp = tolower((unsigned char)*dp);
- st->cp = mod + 2;
- st->termc = *st->cp;
+ st->next = mod + 2;
+ st->termc = *st->next;
} else if (mod[1] == 'W' || mod[1] == 'w') {
st->oneBigWord = mod[1] == 'W';
st->newStr = st->nstr;
- st->cp = mod + 2;
- st->termc = *st->cp;
+ st->next = mod + 2;
+ st->termc = *st->next;
} else {
/* Found ":t<unrecognised>:" or ":t<unrecognised><endc>". */
return FALSE;
@@ -2629,17 +2629,17 @@ ApplyModifier_To(const char *mod, ApplyM
static int
ApplyModifier_Words(const char *mod, ApplyModifiersState *st)
{
- st->cp = mod + 1; /* point to char after '[' */
+ st->next = mod + 1; /* point to char after '[' */
char delim = ']'; /* look for closing ']' */
- char *estr = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ char *estr = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
NULL, NULL, NULL);
if (estr == NULL) {
st->missing_delim = delim;
return 'c';
}
- /* now st->cp points just after the closing ']' */
- if (st->cp[0] != ':' && st->cp[0] != st->endc)
+ /* now st->next points just after the closing ']' */
+ if (st->next[0] != ':' && st->next[0] != st->endc)
goto bad_modifier; /* Found junk after ']' */
if (estr[0] == '\0')
@@ -2719,7 +2719,7 @@ ApplyModifier_Words(const char *mod, App
st->newStr = VarSelectWords(st->sep, st->oneBigWord, st->nstr, first, last);
ok:
- st->termc = *st->cp;
+ st->termc = *st->next;
free(estr);
return 0;
@@ -2734,15 +2734,15 @@ ApplyModifier_Order(const char *mod, App
{
char otype;
- st->cp = mod + 1; /* skip to the rest in any case */
+ st->next = mod + 1; /* skip to the rest in any case */
if (mod[1] == st->endc || mod[1] == ':') {
otype = 's';
- st->termc = *st->cp;
+ st->termc = *st->next;
} else if ((mod[1] == 'r' || mod[1] == 'x') &&
(mod[2] == st->endc || mod[2] == ':')) {
otype = mod[1];
- st->cp = mod + 2;
- st->termc = *st->cp;
+ st->next = mod + 2;
+ st->termc = *st->next;
} else {
return FALSE;
}
@@ -2767,9 +2767,9 @@ ApplyModifier_IfElse(const char *mod, Ap
else_eflags |= VARE_WANTRES;
}
- st->cp = mod + 1;
+ st->next = mod + 1;
char delim = ':';
- char *then_expr = ParseModifierPart(&st->cp, delim, then_eflags, st->ctxt,
+ char *then_expr = ParseModifierPart(&st->next, delim, then_eflags, st->ctxt,
NULL, NULL, NULL);
if (then_expr == NULL) {
st->missing_delim = delim;
@@ -2777,14 +2777,14 @@ ApplyModifier_IfElse(const char *mod, Ap
}
delim = st->endc; /* BRCLOSE or PRCLOSE */
- char *else_expr = ParseModifierPart(&st->cp, delim, else_eflags, st->ctxt,
+ char *else_expr = ParseModifierPart(&st->next, delim, else_eflags, st->ctxt,
NULL, NULL, NULL);
if (else_expr == NULL) {
st->missing_delim = delim;
return FALSE;
}
- st->termc = *--st->cp;
+ st->termc = *--st->next;
if (cond_rc == COND_INVALID) {
Error("Bad conditional expression `%s' in %s?%s:%s",
st->v->name, st->v->name, then_expr, else_expr);
@@ -2858,15 +2858,15 @@ ApplyModifier_Assign(const char *mod, Ap
case '+':
case '?':
case '!':
- st->cp = mod + 3;
+ st->next = mod + 3;
break;
default:
- st->cp = mod + 2;
+ st->next = mod + 2;
break;
}
char delim = st->startc == PROPEN ? PRCLOSE : BRCLOSE;
- char *val = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ char *val = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
NULL, NULL, NULL);
if (st->v->flags & VAR_JUNK) {
/* restore original name */
@@ -2878,7 +2878,7 @@ ApplyModifier_Assign(const char *mod, Ap
return 'c';
}
- st->termc = *--st->cp;
+ st->termc = *--st->next;
if (st->eflags & VARE_WANTRES) {
switch (op[0]) {
@@ -2914,7 +2914,7 @@ static Boolean
ApplyModifier_Remember(const char *mod, ApplyModifiersState *st)
{
if (!ModMatchEq(mod, "_", st->endc)) {
- st->cp = mod + 1;
+ st->next = mod + 1;
return FALSE;
}
@@ -2923,13 +2923,13 @@ ApplyModifier_Remember(const char *mod,
char *name = bmake_strndup(mod + 2, n);
Var_Set(name, st->nstr, st->ctxt);
free(name);
- st->cp = mod + 2 + n;
+ st->next = mod + 2 + n;
} else {
Var_Set("_", st->nstr, st->ctxt);
- st->cp = mod + 1;
+ st->next = mod + 1;
}
st->newStr = st->nstr;
- st->termc = *st->cp;
+ st->termc = *st->next;
return TRUE;
}
@@ -2945,25 +2945,25 @@ ApplyModifier_SysV(const char *mod, Appl
* to verify it is a SYSV-make-style translation:
* it must be: <string1>=<string2>)
*/
- st->cp = mod;
+ st->next = mod;
int nest = 1;
- while (*st->cp != '\0' && nest > 0) {
- if (*st->cp == '=') {
+ while (*st->next != '\0' && nest > 0) {
+ if (*st->next == '=') {
eqFound = TRUE;
/* continue looking for st->endc */
- } else if (*st->cp == st->endc)
+ } else if (*st->next == st->endc)
nest--;
- else if (*st->cp == st->startc)
+ else if (*st->next == st->startc)
nest++;
if (nest > 0)
- st->cp++;
+ st->next++;
}
- if (*st->cp != st->endc || !eqFound)
+ if (*st->next != st->endc || !eqFound)
return 0;
char delim = '=';
- st->cp = mod;
- char *lhs = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ st->next = mod;
+ char *lhs = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
NULL, NULL, NULL);
if (lhs == NULL) {
st->missing_delim = delim;
@@ -2971,7 +2971,7 @@ ApplyModifier_SysV(const char *mod, Appl
}
delim = st->endc;
- char *rhs = ParseModifierPart(&st->cp, delim, st->eflags, st->ctxt,
+ char *rhs = ParseModifierPart(&st->next, delim, st->eflags, st->ctxt,
NULL, NULL, NULL);
if (rhs == NULL) {
st->missing_delim = delim;
@@ -2982,7 +2982,7 @@ ApplyModifier_SysV(const char *mod, Appl
* SYSV modifications happen through the whole
* string. Note the pattern is anchored at the end.
*/
- st->termc = *--st->cp;
+ st->termc = *--st->next;
if (lhs[0] == '\0' && *st->nstr == '\0') {
st->newStr = st->nstr; /* special case */
} else {
@@ -3164,8 +3164,8 @@ ApplyModifiers(char *nstr, const char *
if (st.v->flags & VAR_JUNK)
st.v->flags |= VAR_KEEP;
st.newStr = bmake_strdup(st.v->name);
- st.cp = p + 1;
- st.termc = *st.cp;
+ st.next = p + 1;
+ st.termc = *st.next;
break;
}
case 'P':
@@ -3222,8 +3222,8 @@ ApplyModifiers(char *nstr, const char *
case 'Q':
if (p[1] == st.endc || p[1] == ':') {
st.newStr = VarQuote(st.nstr, modifier == 'q');
- st.cp = p + 1;
- st.termc = *st.cp;
+ st.next = p + 1;
+ st.termc = *st.next;
break;
}
goto default_case;
@@ -3231,8 +3231,8 @@ ApplyModifiers(char *nstr, const char *
if (p[1] == st.endc || p[1] == ':') {
st.newStr = ModifyWords(st.ctxt, st.sep, st.oneBigWord,
st.nstr, ModifyWord_Tail, NULL);
- st.cp = p + 1;
- st.termc = *st.cp;
+ st.next = p + 1;
+ st.termc = *st.next;
break;
}
goto default_case;
@@ -3240,8 +3240,8 @@ ApplyModifiers(char *nstr, const char *
if (p[1] == st.endc || p[1] == ':') {
st.newStr = ModifyWords(st.ctxt, st.sep, st.oneBigWord,
st.nstr, ModifyWord_Head, NULL);
- st.cp = p + 1;
- st.termc = *st.cp;
+ st.next = p + 1;
+ st.termc = *st.next;
break;
}
goto default_case;
@@ -3249,8 +3249,8 @@ ApplyModifiers(char *nstr, const char *
if (p[1] == st.endc || p[1] == ':') {
st.newStr = ModifyWords(st.ctxt, st.sep, st.oneBigWord,
st.nstr, ModifyWord_Suffix, NULL);
- st.cp = p + 1;
- st.termc = *st.cp;
+ st.next = p + 1;
+ st.termc = *st.next;
break;
}
goto default_case;
@@ -3258,8 +3258,8 @@ ApplyModifiers(char *nstr, const char *
if (p[1] == st.endc || p[1] == ':') {
st.newStr = ModifyWords(st.ctxt, st.sep, st.oneBigWord,
st.nstr, ModifyWord_Root, NULL);
- st.cp = p + 1;
- st.termc = *st.cp;
+ st.next = p + 1;
+ st.termc = *st.next;
break;
}
goto default_case;
@@ -3274,8 +3274,8 @@ ApplyModifiers(char *nstr, const char *
case 'u':
if (p[1] == st.endc || p[1] == ':') {
st.newStr = VarUniq(st.nstr);
- st.cp = p + 1;
- st.termc = *st.cp;
+ st.next = p + 1;
+ st.termc = *st.next;
break;
}
goto default_case;
@@ -3289,8 +3289,8 @@ ApplyModifiers(char *nstr, const char *
Error(emsg, st.nstr);
} else
st.newStr = varNoError;
- st.cp = p + 2;
- st.termc = *st.cp;
+ st.next = p + 2;
+ st.termc = *st.next;
break;
}
goto default_case;
@@ -3306,11 +3306,12 @@ ApplyModifiers(char *nstr, const char *
#endif
{
Error("Unknown modifier '%c'", *p);
- for (st.cp = p + 1;
- *st.cp != ':' && *st.cp != st.endc && *st.cp != '\0';
- st.cp++)
+ for (st.next = p + 1;
+ *st.next != ':' && *st.next != st.endc &&
+ *st.next != '\0';
+ st.next++)
continue;
- st.termc = *st.cp;
+ st.termc = *st.next;
st.newStr = var_Error;
}
}
@@ -3335,9 +3336,9 @@ ApplyModifiers(char *nstr, const char *
"for \"%s\" (value \"%s\") modifier %c",
st.endc, st.v->name, st.nstr, modifier);
} else if (st.termc == ':') {
- st.cp++;
+ st.next++;
}
- p = st.cp;
+ p = st.next;
}
out:
*lengthPtr = p - tstr;
@@ -3348,7 +3349,7 @@ bad_modifier:
(int)strcspn(p, ":)}"), p, st.v->name);
cleanup:
- *lengthPtr = st.cp - tstr;
+ *lengthPtr = st.next - tstr;
if (st.missing_delim != '\0')
Error("Unclosed substitution for %s (%c missing)",
st.v->name, st.missing_delim);