FreeCalypso > hg > freecalypso-citrine
comparison sprintf/strtok.c @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 09 Jun 2016 00:02:41 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:75a11d740a02 |
|---|---|
| 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 } |
