1 /* 2 * Copyright (C) 2002 Manuel Novoa III 3 * Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org> 4 * 5 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. 6 */ 7 8 #include "_string.h" 9 10 #ifdef __USE_BSD 11 12 strsep(char ** __restrict s1,const char * __restrict s2)13char *strsep(char ** __restrict s1, const char * __restrict s2) 14 { 15 register char *s = *s1; 16 register char *p; 17 18 #if 1 19 p = NULL; 20 if (s && *s && (p = strpbrk(s, s2))) { 21 *p++ = 0; 22 } 23 #else 24 if (s && *s && *(p = s + strcspn(s, s2))) { 25 *p++ = 0; 26 } else { 27 p = NULL; 28 } 29 #endif 30 *s1 = p; 31 return s; 32 } 33 libc_hidden_def(strsep) 34 #endif 35