diff options
author | brian <brian@FreeBSD.org> | 1999-12-20 20:30:25 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1999-12-20 20:30:25 +0000 |
commit | 0a37c5b3adc8d2ab7afb405ebd6cda1842b9ad2e (patch) | |
tree | 0d608d4289b702e64a3a108753af44172abdf1c6 /usr.sbin/ppp/defs.c | |
parent | 4145fb0c1be9e8321d6d4e6f465453c2cc0aed50 (diff) | |
download | FreeBSD-src-0a37c5b3adc8d2ab7afb405ebd6cda1842b9ad2e.zip FreeBSD-src-0a37c5b3adc8d2ab7afb405ebd6cda1842b9ad2e.tar.gz |
Handle comments at the end of lines.
Diffstat (limited to 'usr.sbin/ppp/defs.c')
-rw-r--r-- | usr.sbin/ppp/defs.c | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/usr.sbin/ppp/defs.c b/usr.sbin/ppp/defs.c index 6e7d5c9..b7ee588 100644 --- a/usr.sbin/ppp/defs.c +++ b/usr.sbin/ppp/defs.c @@ -263,29 +263,21 @@ IntToSpeed(int nspeed) return B0; } -static char * +char * findblank(char *p, int instring) { - if (instring) { - while (*p) { - if (*p == '\\') { - memmove(p, p + 1, strlen(p)); - if (!*p) - break; - } else if (*p == '"') - return (p); - p++; - } - return NULL; - } else { - while (*p) { - if (issep(*p)) - return (p); - p++; - } + while (*p) { + if (*p == '\\') { + memmove(p, p + 1, strlen(p)); + if (!*p) + break; + } else if ((instring && *p == '"') || + (!instring && (issep(*p) || *p == '#'))) + return p; + p++; } - return p; + return instring ? NULL : p; } int @@ -314,6 +306,8 @@ MakeArgs(char *script, char **pvect, int maxargs) script = findblank(script, instring); if (script == NULL) return -1; + else if (*script == '#') + *script = '\0'; else if (*script) *script++ = '\0'; } |