summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/defs.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1999-12-20 20:30:25 +0000
committerbrian <brian@FreeBSD.org>1999-12-20 20:30:25 +0000
commit0a37c5b3adc8d2ab7afb405ebd6cda1842b9ad2e (patch)
tree0d608d4289b702e64a3a108753af44172abdf1c6 /usr.sbin/ppp/defs.c
parent4145fb0c1be9e8321d6d4e6f465453c2cc0aed50 (diff)
downloadFreeBSD-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.c32
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';
}
OpenPOWER on IntegriCloud