summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2005-03-22 08:03:42 +0000
committerharti <harti@FreeBSD.org>2005-03-22 08:03:42 +0000
commit6218a3c3c190c9b7c1cc74eb3e3bc26cd51cbaba (patch)
tree5e579c29754720db4590d7eef5a57774010521d0 /usr.bin
parent5865566c6d67c2d3ae3c61d9437621ef0ccada63 (diff)
downloadFreeBSD-src-6218a3c3c190c9b7c1cc74eb3e3bc26cd51cbaba.zip
FreeBSD-src-6218a3c3c190c9b7c1cc74eb3e3bc26cd51cbaba.tar.gz
Merge struct VarREPattern into struct VarPattern. This will help sorting
out common code. Patch: 7.156 Submitted by: Max Okumoto <okumoto@ucsd.edu>
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/make/var.c10
-rw-r--r--usr.bin/make/var.h13
-rw-r--r--usr.bin/make/var_modify.c4
3 files changed, 12 insertions, 15 deletions
diff --git a/usr.bin/make/var.c b/usr.bin/make/var.c
index f26acb0..d68a23b 100644
--- a/usr.bin/make/var.c
+++ b/usr.bin/make/var.c
@@ -982,7 +982,7 @@ modifier_S(VarParser *vp, const char value[], Var *v)
static char *
modifier_C(VarParser *vp, char value[], Var *v)
{
- VarREPattern patt;
+ VarPattern patt;
char delim;
char *re;
int error;
@@ -1004,8 +1004,8 @@ modifier_C(VarParser *vp, char value[], Var *v)
vp->ptr++; /* consume 2st delim */
- patt.replace = VarGetPattern(vp, delim, NULL, NULL, NULL);
- if (patt.replace == NULL) {
+ patt.rhs = VarGetPattern(vp, delim, NULL, NULL, NULL);
+ if (patt.rhs == NULL) {
Fatal("Unclosed substitution for %s (%c missing)",
v->name, delim);
}
@@ -1028,7 +1028,7 @@ modifier_C(VarParser *vp, char value[], Var *v)
error = regcomp(&patt.re, re, REG_EXTENDED);
if (error) {
VarREError(error, &patt.re, "RE substitution error");
- free(patt.replace);
+ free(patt.rhs);
free(re);
return (var_Error);
}
@@ -1044,7 +1044,7 @@ modifier_C(VarParser *vp, char value[], Var *v)
regfree(&patt.re);
free(patt.matches);
- free(patt.replace);
+ free(patt.rhs);
free(re);
return (newValue);
diff --git a/usr.bin/make/var.h b/usr.bin/make/var.h
index adce769..bcccc13 100644
--- a/usr.bin/make/var.h
+++ b/usr.bin/make/var.h
@@ -77,17 +77,14 @@ typedef struct {
size_t leftLen; /* Length of string */
char *rhs; /* Replacement string (w/ &'s removed) */
size_t rightLen; /* Length of replacement */
+
+ regex_t re;
+ int nsub;
+ regmatch_t *matches;
+
int flags;
} VarPattern;
-typedef struct {
- regex_t re;
- int nsub;
- regmatch_t *matches;
- char *replace;
- int flags;
-} VarREPattern;
-
typedef Boolean VarModifyProc(const char *, Boolean, struct Buffer *, void *);
/*
diff --git a/usr.bin/make/var_modify.c b/usr.bin/make/var_modify.c
index 2920ada..01f5906 100644
--- a/usr.bin/make/var_modify.c
+++ b/usr.bin/make/var_modify.c
@@ -470,7 +470,7 @@ VarSubstitute(const char *word, Boolean addSpace, Buffer *buf, void *patternp)
Boolean
VarRESubstitute(const char *word, Boolean addSpace, Buffer *buf, void *patternp)
{
- VarREPattern *pat;
+ VarPattern *pat;
int xrv;
const char *wp;
char *rp;
@@ -502,7 +502,7 @@ VarRESubstitute(const char *word, Boolean addSpace, Buffer *buf, void *patternp)
Buf_AddBytes(buf, pat->matches[0].rm_so, (const Byte *)wp);
}
- for (rp = pat->replace; *rp; rp++) {
+ for (rp = pat->rhs; *rp; rp++) {
if ((*rp == '\\') && ((rp[1] == '&') || (rp[1] == '\\'))) {
MAYBE_ADD_SPACE();
Buf_AddByte(buf, (Byte)rp[1]);
OpenPOWER on IntegriCloud