From 5afa231af8c266c92b79ee5942d9b38a00db52f6 Mon Sep 17 00:00:00 2001 From: Robert Elz Date: Tue, 6 Aug 1985 04:43:11 -0800 Subject: [PATCH] date and time created 85/08/05 21:43:11 by kre SCCS-vsn: lib/libc/string/strtok.c 5.1 --- usr/src/lib/libc/string/strtok.c | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 usr/src/lib/libc/string/strtok.c diff --git a/usr/src/lib/libc/string/strtok.c b/usr/src/lib/libc/string/strtok.c new file mode 100644 index 0000000000..5780bf4aee --- /dev/null +++ b/usr/src/lib/libc/string/strtok.c @@ -0,0 +1,50 @@ +/* + * Copyright (c) 1980 Regents of the University of California. + * All rights reserved. The Berkeley software License Agreement + * specifies the terms and conditions for redistribution. + */ + +/* + * Sys5 compat routine + */ + +#ifndef lint +static char sccsid[] = "@(#)strtok.c 5.1 (Berkeley) 85/08/05"; +#endif + +char * +strtok(s, sep) + register char *s, *sep; +{ + register char *p; + register c; + static char *lasts; + + if (s == 0) + s = lasts; + if (s == 0) + return (0); + + while (c = *s) { + if (!index(sep, c)) + break; + s++; + } + + if (c == '\0') { + lasts = 0; + return (0); + } + + for (p = s; c = *++p; ) + if (index(sep, c)) + break; + + if (c == '\0') + lasts = 0; + else { + *p++ = '\0'; + lasts = p; + } + return (s); +} -- 2.20.1