124193Skre /* 224193Skre * Copyright (c) 1980 Regents of the University of California. 324193Skre * All rights reserved. The Berkeley software License Agreement 424193Skre * specifies the terms and conditions for redistribution. 524193Skre */ 624193Skre 724193Skre /* 824193Skre * Sys5 compat routine 924193Skre */ 1024193Skre 11*26538Sdonn #if defined(LIBC_SCCS) && !defined(lint) 12*26538Sdonn static char sccsid[] = "@(#)strtok.c 5.2 (Berkeley) 86/03/09"; 1324193Skre #endif 1424193Skre 1524193Skre char * 1624193Skre strtok(s, sep) 1724193Skre register char *s, *sep; 1824193Skre { 1924193Skre register char *p; 2024193Skre register c; 2124193Skre static char *lasts; 2224193Skre 2324193Skre if (s == 0) 2424193Skre s = lasts; 2524193Skre if (s == 0) 2624193Skre return (0); 2724193Skre 2824193Skre while (c = *s) { 2924193Skre if (!index(sep, c)) 3024193Skre break; 3124193Skre s++; 3224193Skre } 3324193Skre 3424193Skre if (c == '\0') { 3524193Skre lasts = 0; 3624193Skre return (0); 3724193Skre } 3824193Skre 3924193Skre for (p = s; c = *++p; ) 4024193Skre if (index(sep, c)) 4124193Skre break; 4224193Skre 4324193Skre if (c == '\0') 4424193Skre lasts = 0; 4524193Skre else { 4624193Skre *p++ = '\0'; 4724193Skre lasts = p; 4824193Skre } 4924193Skre return (s); 5024193Skre } 51