diff options
Diffstat (limited to 'lib/libwrap/misc.c')
-rw-r--r-- | lib/libwrap/misc.c | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/lib/libwrap/misc.c b/lib/libwrap/misc.c index 69e7ac1c086..3ba0caaf023 100644 --- a/lib/libwrap/misc.c +++ b/lib/libwrap/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.3 1999/06/06 15:34:44 deraadt Exp $ */ +/* $OpenBSD: misc.c,v 1.4 2000/10/14 00:56:15 itojun Exp $ */ /* * Misc routines that are used by tcpd and by tcpdchk. @@ -10,7 +10,7 @@ #if 0 static char sccsic[] = "@(#) misc.c 1.2 96/02/11 17:01:29"; #else -static char rcsid[] = "$OpenBSD: misc.c,v 1.3 1999/06/06 15:34:44 deraadt Exp $"; +static char rcsid[] = "$OpenBSD: misc.c,v 1.4 2000/10/14 00:56:15 itojun Exp $"; #endif #endif @@ -60,11 +60,35 @@ char *split_at(string, delimiter) char *string; int delimiter; { +#if 0 char *cp; if ((cp = strchr(string, delimiter)) != 0) *cp++ = 0; return (cp); +#else + char *cp; + int bracket; + + bracket = 0; + for (cp = string; cp && *cp; cp++) { + switch (*cp) { + case '[': + bracket++; + break; + case ']': + bracket--; + break; + default: + if (bracket == 0 && *cp == delimiter) { + *cp++ = 0; + return cp; + } + break; + } + } + return NULL; +#endif } /* dot_quad_addr_new - convert dotted quad to internal form */ |