diff --git a/libmaxsi/include/string.h b/libmaxsi/include/string.h index 80a2be64..fa75115f 100644 --- a/libmaxsi/include/string.h +++ b/libmaxsi/include/string.h @@ -50,6 +50,7 @@ char* strerror(int); size_t strlen(const char*); int strncmp(const char*, const char*, size_t); char* strncpy(char* restrict, const char* restrict, size_t); +char* strpbrk(const char*, const char*); char* strrchr(const char*, int); size_t strspn(const char*, const char*); char* strstr(const char*, const char*); @@ -66,7 +67,6 @@ int strerror_r(int, char*, size_t); char* strncat(char* restrict, const char* restrict, size_t); char* strndup(const char*, size_t); size_t strnlen(const char*, size_t); -char* strpbrk(const char*, const char*); char* strsignal(int); size_t strxfrm(char* restrict, const char* restrict, size_t); size_t strxfrm_l(char* restrict, const char* restrict, size_t, locale_t); diff --git a/libmaxsi/string.cpp b/libmaxsi/string.cpp index e539901d..ce950df1 100644 --- a/libmaxsi/string.cpp +++ b/libmaxsi/string.cpp @@ -146,6 +146,13 @@ namespace Maxsi } } + char* strpbrk(const char* str, const char* accept) + { + size_t rejectlen = Reject(str, accept); + if ( !str[rejectlen] ) { return NULL; } + return (char*) str + rejectlen; + } + DUAL_FUNCTION(char*, strtok_r, TokenizeR, (char* str, const char* delim, char** saveptr)) { if ( !str && !*saveptr ) { return NULL; }