aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/ppp/defs.c
diff options
context:
space:
mode:
authorBrian Somers <brian@FreeBSD.org>1999-12-22 21:48:12 +0000
committerBrian Somers <brian@FreeBSD.org>1999-12-22 21:48:12 +0000
commitabab7303b5475c1791ad1e2bdf567fc7e27bb5b1 (patch)
treefb128d5137e725443625415f19edef28250ecb28 /usr.sbin/ppp/defs.c
parent1107842229fabc41773a5ded580f1cb476301d6d (diff)
downloadsrc-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.c15
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 == '#')