From 6c4c5c5b959ec8a2e85510bdf85339582f638f36 Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 26 Mar 2007 17:27:08 +0000 Subject: =?UTF-8?q?fix=20empty=20string=20interpolation=20bugs=20(Michael?= =?UTF-8?q?=20Teichgr=C3=A4ber)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cmd/mk/varsub.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/cmd/mk/varsub.c') diff --git a/src/cmd/mk/varsub.c b/src/cmd/mk/varsub.c index 223ba78d..f858a92a 100644 --- a/src/cmd/mk/varsub.c +++ b/src/cmd/mk/varsub.c @@ -5,7 +5,7 @@ static Word *expandvar(char**); static Bufblock *varname(char**); static Word *extractpat(char*, char**, char*, char*); static int submatch(char*, Word*, Word*, int*, char**); -static Word *varmatch(char *, char**); +static Word *varmatch(char *); Word * varsub(char **s) @@ -20,7 +20,7 @@ varsub(char **s) if(b == 0) return 0; - w = varmatch(b->start, s); + w = varmatch(b->start); freebuf(b); return w; } @@ -57,11 +57,10 @@ varname(char **s) } static Word* -varmatch(char *name, char **s) +varmatch(char *name) { Word *w; Symtab *sym; - char *cp; sym = symlook(name, S_VAR, 0); if(sym){ @@ -70,9 +69,6 @@ varmatch(char *name, char **s) if(w->s && *w->s) return wdup(w); } - for(cp = *s; *cp == ' ' || *cp == '\t'; cp++) /* skip trailing whitespace */ - ; - *s = cp; return 0; } @@ -92,7 +88,7 @@ expandvar(char **s) cp = *s; if (*cp == '}') { /* ${name} variant*/ (*s)++; /* skip the '}' */ - w = varmatch(buf->start, s); + w = varmatch(buf->start); freebuf(buf); return w; } -- cgit v1.2.3