summaryrefslogtreecommitdiffstats
path: root/sys/libkern
diff options
context:
space:
mode:
Diffstat (limited to 'sys/libkern')
-rw-r--r--sys/libkern/index.c28
-rw-r--r--sys/libkern/rindex.c32
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);
}
OpenPOWER on IntegriCloud