FreeCalypso > hg > ffs-editor
comparison src/libsys/strtok.c @ 0:92470e5d0b9e
src: partial import from FC Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 15 May 2020 01:28:16 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:92470e5d0b9e |
---|---|
1 /* | |
2 * Copyright (c) 1985 Regents of the University of California. | |
3 * All rights reserved. | |
4 * | |
5 * Redistribution and use in source and binary forms are permitted | |
6 * provided that the above copyright notice and this paragraph are | |
7 * duplicated in all such forms and that any documentation, | |
8 * advertising materials, and other materials related to such | |
9 * distribution and use acknowledge that the software was developed | |
10 * by the University of California, Berkeley. The name of the | |
11 * University may not be used to endorse or promote products derived | |
12 * from this software without specific prior written permission. | |
13 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR | |
14 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | |
15 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. | |
16 */ | |
17 | |
18 #if defined(LIBC_SCCS) && !defined(lint) | |
19 static char sccsid[] = "@(#)strtok.c 5.4 (Berkeley) 6/27/88"; | |
20 #endif /* LIBC_SCCS and not lint */ | |
21 | |
22 char * | |
23 strtok(s, sep) | |
24 register char *s, *sep; | |
25 { | |
26 register char *p; | |
27 register c; | |
28 static char *lasts; | |
29 | |
30 if (s == 0) | |
31 s = lasts; | |
32 if (s == 0) | |
33 return (0); | |
34 | |
35 while (c = *s) { | |
36 if (!index(sep, c)) | |
37 break; | |
38 s++; | |
39 } | |
40 | |
41 if (c == '\0') { | |
42 lasts = 0; | |
43 return (0); | |
44 } | |
45 | |
46 for (p = s; c = *++p; ) | |
47 if (index(sep, c)) | |
48 break; | |
49 | |
50 if (c == '\0') | |
51 lasts = 0; | |
52 else { | |
53 *p++ = '\0'; | |
54 lasts = p; | |
55 } | |
56 return (s); | |
57 } |