blob: ce17dcf89c4b64ee76affb2c3b5955f50ef5b943 [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/*
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
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}
33libc_hidden_def(strsep)
34#endif