diff options
Diffstat (limited to 'src/libstddjb/byte_chr.c')
-rw-r--r-- | src/libstddjb/byte_chr.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/src/libstddjb/byte_chr.c b/src/libstddjb/byte_chr.c index 45ad543..d24e92d 100644 --- a/src/libstddjb/byte_chr.c +++ b/src/libstddjb/byte_chr.c @@ -1,26 +1,11 @@ /* ISC license. */ -#include <skalibs/config.h> -#include <skalibs/bytestr.h> - -#ifndef SKALIBS_FLAG_REPLACE_LIBC - +#include <sys/types.h> #include <string.h> +#include <skalibs/bytestr.h> -unsigned int byte_chr (char const *s, unsigned int n, int c) +size_t byte_chr (char const *s, size_t n, int c) { register void *p = memchr(s, c, n) ; - return p ? (unsigned int)((char *)p - s) : n ; + return p ? (char *)p - s : n ; } - -#else - -unsigned int byte_chr (char const *s, unsigned int n, int c) -{ - register unsigned int i = 0 ; - register char ch = c ; - for (; i < n && *s++ != ch ; i++) ; - return i ; -} - -#endif |