From d23d7559545a3037102b10f1f819944746de2ebe Mon Sep 17 00:00:00 2001 From: Max Okumoto Date: Wed, 16 Mar 2005 00:14:43 +0000 Subject: [PATCH] patch-7.133 ParseModifier() - substitute in delim - Use shorter variable name patt instead of pattern. - Move calc of consumed into subroutine. --- usr.bin/make/var.c | 68 ++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/usr.bin/make/var.c b/usr.bin/make/var.c index 607e5f5ce4..051bfd7f05 100644 --- a/usr.bin/make/var.c +++ b/usr.bin/make/var.c @@ -37,7 +37,7 @@ * * @(#)var.c 8.3 (Berkeley) 3/19/94 * $FreeBSD: src/usr.bin/make/var.c,v 1.83 2005/02/11 10:49:01 harti Exp $ - * $DragonFly: src/usr.bin/make/var.c,v 1.157 2005/03/16 00:14:18 okumoto Exp $ + * $DragonFly: src/usr.bin/make/var.c,v 1.158 2005/03/16 00:14:43 okumoto Exp $ */ /*- @@ -1155,7 +1155,7 @@ static char * modifier_C(const char mod[], char value[], Var *v, VarParser *vp, size_t *consumed) { VarREPattern patt; - int delim; + char delim; char *re; const char *cur; int error; @@ -1342,11 +1342,11 @@ ParseModifier(VarParser *vp, char startc, char endc, Boolean dynamic, Var *v, si * This can either be a bogus modifier or a * System-V substitution command. */ - VarPattern pattern; + VarPattern patt; Boolean eqFound; int cnt; - pattern.flags = 0; + patt.flags = 0; eqFound = FALSE; /* * First we make a pass through the string @@ -1368,8 +1368,6 @@ ParseModifier(VarParser *vp, char startc, char endc, Boolean dynamic, Var *v, si cp++; } if (*cp == endc && eqFound) { - int delim; - /* * Now we break this sucker into the * lhs and rhs. We must null @@ -1377,26 +1375,25 @@ ParseModifier(VarParser *vp, char startc, char endc, Boolean dynamic, Var *v, si */ cp = tstr; - delim = '='; - if ((pattern.lhs = VarGetPattern(vp, &cp, delim, &pattern.flags, &pattern.leftLen, NULL)) == NULL) { + patt.lhs = VarGetPattern(vp, &cp, '=', &patt.flags, &patt.leftLen, NULL); + if (patt.lhs == NULL) { *lengthPtr = cp - vp->input + 1; if (*freePtr) free(value); - if (delim != '\0') + if ('=' != '\0') Fatal("Unclosed substitution for %s (%c missing)", - v->name, delim); + v->name, '='); return (var_Error); } - delim = endc; - pattern.rhs = VarGetPattern(vp, &cp, delim, NULL, &pattern.rightLen, &pattern); - if (pattern.rhs == NULL) { + patt.rhs = VarGetPattern(vp, &cp, endc, NULL, &patt.rightLen, &patt); + if (patt.rhs == NULL) { *lengthPtr = cp - vp->input + 1; if (*freePtr) free(value); - if (delim != '\0') + if (endc != '\0') Fatal("Unclosed substitution for %s (%c missing)", - v->name, delim); + v->name, endc); return (var_Error); } /* @@ -1405,11 +1402,10 @@ ParseModifier(VarParser *vp, char startc, char endc, Boolean dynamic, Var *v, si * is anchored at the end. */ --cp; - delim = '\0'; - newStr = VarModify(value, VarSYSVMatch, &pattern); + newStr = VarModify(value, VarSYSVMatch, &patt); - free(pattern.lhs); - free(pattern.rhs); + free(patt.lhs); + free(patt.rhs); tstr = (endc == ':') ? (cp + 1) : cp; } else @@ -1452,11 +1448,11 @@ ParseModifier(VarParser *vp, char startc, char endc, Boolean dynamic, Var *v, si * This can either be a bogus modifier or a * System-V substitution command. */ - VarPattern pattern; + VarPattern patt; Boolean eqFound; int cnt; - pattern.flags = 0; + patt.flags = 0; eqFound = FALSE; /* * First we make a pass through the string @@ -1478,8 +1474,6 @@ ParseModifier(VarParser *vp, char startc, char endc, Boolean dynamic, Var *v, si cp++; } if (*cp == endc && eqFound) { - int delim; - /* * Now we break this sucker into the * lhs and rhs. We must null @@ -1487,26 +1481,25 @@ ParseModifier(VarParser *vp, char startc, char endc, Boolean dynamic, Var *v, si */ cp = tstr; - delim = '='; - if ((pattern.lhs = VarGetPattern(vp, &cp, delim, &pattern.flags, &pattern.leftLen, NULL)) == NULL) { + patt.lhs = VarGetPattern(vp, &cp, '=', &patt.flags, &patt.leftLen, NULL); + if (patt.lhs == NULL) { *lengthPtr = cp - vp->input + 1; if (*freePtr) free(value); - if (delim != '\0') + if ('=' != '\0') Fatal("Unclosed substitution for %s (%c missing)", - v->name, delim); + v->name, '='); return (var_Error); } - delim = endc; - pattern.rhs = VarGetPattern(vp, &cp, delim, NULL, &pattern.rightLen, &pattern); - if (pattern.rhs == NULL) { + patt.rhs = VarGetPattern(vp, &cp, endc, NULL, &patt.rightLen, &patt); + if (patt.rhs == NULL) { *lengthPtr = cp - vp->input + 1; if (*freePtr) free(value); - if (delim != '\0') + if (endc != '\0') Fatal("Unclosed substitution for %s (%c missing)", - v->name, delim); + v->name, endc); return (var_Error); } /* @@ -1515,11 +1508,10 @@ ParseModifier(VarParser *vp, char startc, char endc, Boolean dynamic, Var *v, si * is anchored at the end. */ --cp; - delim = '\0'; - newStr = VarModify(value, VarSYSVMatch, &pattern); + newStr = VarModify(value, VarSYSVMatch, &patt); - free(pattern.lhs); - free(pattern.rhs); + free(patt.lhs); + free(patt.rhs); tstr = (endc == ':') ? (cp + 1) : cp; } else @@ -1815,7 +1807,8 @@ VarParseLong(VarParser *vp, size_t *consumed, Boolean *freePtr) return (result); } else if (*vp->ptr == ':') { - *consumed += 1; + *consumed += 1; /* consume '$' */ + *consumed += 1; /* consume paren or brace */ result = ParseRestModifier(vp, startc, endc, buf, consumed, freePtr); Buf_Destroy(buf, TRUE); return (result); @@ -1935,7 +1928,6 @@ VarParse(VarParser *vp, size_t *consumed, Boolean *freeResult) *consumed += vp->ptr - vp->input; } else if (vp->ptr[0] == OPEN_PAREN || vp->ptr[0] == OPEN_BRACE) { - *consumed += 1; /* consume '$' */ /* multi letter variable name */ value = VarParseLong(vp, consumed, freeResult); -- 2.41.0