diff options
Diffstat (limited to 'sys/libkern')
-rw-r--r-- | sys/libkern/index.c | 28 | ||||
-rw-r--r-- | sys/libkern/rindex.c | 32 |
2 files changed, 42 insertions, 18 deletions
diff --git a/sys/libkern/index.c b/sys/libkern/index.c index 6351223..b22341c 100644 --- a/sys/libkern/index.c +++ b/sys/libkern/index.c @@ -33,21 +33,33 @@ * $FreeBSD$ */ -#include <string.h> +#include <sys/param.h> +#include <sys/libkern.h> char * -#ifdef STRCHR -strchr(p, ch) -#else index(p, ch) -#endif - register const char *p, ch; + char *p; + int ch; { for (;; ++p) { if (*p == ch) - return((char *)p); + return(p); if (!*p) - return((char *)NULL); + return(NULL); + } + /* NOTREACHED */ +} + +const char * +c_index(p, ch) + const char *p; + int ch; +{ + for (;; ++p) { + if (*p == ch) + return(p); + if (!*p) + return(NULL); } /* NOTREACHED */ } diff --git a/sys/libkern/rindex.c b/sys/libkern/rindex.c index f51abcc..b73031c 100644 --- a/sys/libkern/rindex.c +++ b/sys/libkern/rindex.c @@ -33,23 +33,35 @@ * $FreeBSD$ */ -#include <stddef.h> -#include <string.h> +#include <sys/param.h> +#include <sys/libkern.h> char * -#ifdef STRRCHR -strrchr(p, ch) -#else rindex(p, ch) -#endif - register const char *p; - register int ch; + char *p; + int ch; { - register char *save; + char *save; for (save = NULL;; ++p) { if (*p == ch) - save = (char *)p; + save = p; + if (!*p) + return(save); + } + /* NOTREACHED */ +} + +const char * +c_rindex(p, ch) + const char *p; + int ch; +{ + const char *save; + + for (save = NULL;; ++p) { + if (*p == ch) + save = p; if (!*p) return(save); } |