diff options
author | Brian Somers <brian@FreeBSD.org> | 1999-12-22 21:48:12 +0000 |
---|---|---|
committer | Brian Somers <brian@FreeBSD.org> | 1999-12-22 21:48:12 +0000 |
commit | abab7303b5475c1791ad1e2bdf567fc7e27bb5b1 (patch) | |
tree | fb128d5137e725443625415f19edef28250ecb28 /usr.sbin/ppp/defs.c | |
parent | 1107842229fabc41773a5ded580f1cb476301d6d (diff) | |
download | src-abab7303b5475c1791ad1e2bdf567fc7e27bb5b1.tar.gz src-abab7303b5475c1791ad1e2bdf567fc7e27bb5b1.zip |
Don't munge ``set dial|login|logout|hangup'' arguments before
ExpandString() has a chance to do its own substitutions.
Notes
Notes:
svn path=/head/; revision=55013
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 b7ee588f11e1..67472c4754f9 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 == '#') |