diff options
author | brian <brian@FreeBSD.org> | 1999-12-22 21:48:12 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1999-12-22 21:48:12 +0000 |
commit | baf28880b36151165091a7ac625d48a22daaf1fc (patch) | |
tree | d166f00f9abad88e11532235307232197541793c /usr.sbin/ppp/defs.c | |
parent | 58518e59bd5ba53d638362dcfdbbd87ac09bf4ba (diff) | |
download | FreeBSD-src-baf28880b36151165091a7ac625d48a22daaf1fc.zip FreeBSD-src-baf28880b36151165091a7ac625d48a22daaf1fc.tar.gz |
Don't munge ``set dial|login|logout|hangup'' arguments before
ExpandString() has a chance to do its own substitutions.
Diffstat (limited to 'usr.sbin/ppp/defs.c')
-rw-r--r-- | usr.sbin/ppp/defs.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/usr.sbin/ppp/defs.c b/usr.sbin/ppp/defs.c index b7ee588..67472c4 100644 --- a/usr.sbin/ppp/defs.c +++ b/usr.sbin/ppp/defs.c @@ -264,13 +264,16 @@ IntToSpeed(int nspeed) } char * -findblank(char *p, int instring) +findblank(char *p, int instring, int reduce) { while (*p) { if (*p == '\\') { - memmove(p, p + 1, strlen(p)); - if (!*p) - break; + if (reduce) { + memmove(p, p + 1, strlen(p)); + if (!*p) + break; + } else + p++; } else if ((instring && *p == '"') || (!instring && (issep(*p) || *p == '#'))) return p; @@ -281,7 +284,7 @@ findblank(char *p, int instring) } int -MakeArgs(char *script, char **pvect, int maxargs) +MakeArgs(char *script, char **pvect, int maxargs, int reduce) { int nargs, nb; int instring; @@ -303,7 +306,7 @@ MakeArgs(char *script, char **pvect, int maxargs) break; *pvect++ = script; nargs++; - script = findblank(script, instring); + script = findblank(script, instring, reduce); if (script == NULL) return -1; else if (*script == '#') |