From 04b5326448f35258a4cfbc41530249be6af384df Mon Sep 17 00:00:00 2001 From: adam Date: Mon, 30 Oct 1995 14:03:00 +0000 Subject: [PATCH] Implement simple quoting for command args. Previously "abc xyz" became 2 args split at the space. --- usr.sbin/inetd/inetd.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/usr.sbin/inetd/inetd.c b/usr.sbin/inetd/inetd.c index ca2fc39344ed..c65452687594 100644 --- a/usr.sbin/inetd/inetd.c +++ b/usr.sbin/inetd/inetd.c @@ -40,7 +40,7 @@ static char copyright[] = #ifndef lint /* from: @(#)inetd.c 8.4 (Berkeley) 4/13/94"; */ static char inetd_c_rcsid[] = - "$Id: inetd.c,v 1.6 1995/06/11 19:32:39 rgrimes Exp $"; + "$Id: inetd.c,v 1.7 1995/10/12 16:43:26 wollman Exp $"; #endif /* not lint */ /* @@ -1006,6 +1006,7 @@ skip(cpp) { char *cp = *cpp; char *start; + char quote = '\0'; again: while (*cp == ' ' || *cp == '\t') @@ -1021,9 +1022,15 @@ again: *cpp = (char *)0; return ((char *)0); } + if (*cp == '"' || *cp == '\'') + quote = *cp++; start = cp; - while (*cp && *cp != ' ' && *cp != '\t') - cp++; + if (quote) + while (*cp && *cp != quote) + cp++; + else + while (*cp && *cp != ' ' && *cp != '\t') + cp++; if (*cp != '\0') *cp++ = '\0'; *cpp = cp;