diff options
-rw-r--r-- | sys/kern/kern_linker.c | 4 | ||||
-rw-r--r-- | sys/libkern/index.c | 28 | ||||
-rw-r--r-- | sys/libkern/rindex.c | 31 | ||||
-rw-r--r-- | sys/sys/libkern.h | 6 |
4 files changed, 24 insertions, 45 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index f8054cab5e5f..9262e54f3e2a 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -345,7 +345,7 @@ linker_make_file(const char* pathname, void* priv, struct linker_file_ops* ops) int namelen; const char *filename; - filename = c_rindex(pathname, '/'); + filename = rindex(pathname, '/'); if (filename && filename[1]) filename++; else @@ -993,7 +993,7 @@ linker_search_path(const char *name) enum vtype type; /* qualified at all? */ - if (c_index(name, '/')) + if (index(name, '/')) return(linker_strdup(name)); /* traverse the linker path */ diff --git a/sys/libkern/index.c b/sys/libkern/index.c index b22341cd2253..5c592bfd56af 100644 --- a/sys/libkern/index.c +++ b/sys/libkern/index.c @@ -38,27 +38,19 @@ char * index(p, ch) - char *p; - int ch; -{ - for (;; ++p) { - if (*p == ch) - return(p); - if (!*p) - return(NULL); - } - /* NOTREACHED */ -} - -const char * -c_index(p, ch) const char *p; int ch; { - for (;; ++p) { - if (*p == ch) - return(p); - if (!*p) + union { + const char *cp; + char *p; + } u; + + u.cp = p; + for (;; ++u.p) { + if (*u.p == ch) + return(u.p); + if (!*u.p) return(NULL); } /* NOTREACHED */ diff --git a/sys/libkern/rindex.c b/sys/libkern/rindex.c index b73031c35123..29c01a793866 100644 --- a/sys/libkern/rindex.c +++ b/sys/libkern/rindex.c @@ -38,31 +38,20 @@ char * rindex(p, ch) - char *p; - int ch; -{ - char *save; - - for (save = NULL;; ++p) { - if (*p == ch) - save = p; - if (!*p) - return(save); - } - /* NOTREACHED */ -} - -const char * -c_rindex(p, ch) const char *p; int ch; { - const char *save; + union { + const char *cp; + char *p; + } u; + char *save; - for (save = NULL;; ++p) { - if (*p == ch) - save = p; - if (!*p) + u.cp = p; + for (save = NULL;; ++u.p) { + if (*u.p == ch) + save = u.p; + if (!*u.p) return(save); } /* NOTREACHED */ diff --git a/sys/sys/libkern.h b/sys/sys/libkern.h index 71947a0c5b90..340bc68cb73a 100644 --- a/sys/sys/libkern.h +++ b/sys/sys/libkern.h @@ -73,10 +73,8 @@ int locc __P((int, char *, u_int)); void qsort __P((void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *))); u_long random __P((void)); -char *index __P((char *, int)); -char *rindex __P((char *, int)); -const char *c_index __P((const char *, int)); -const char *c_rindex __P((const char *, int)); +char *index __P((const char *, int)); +char *rindex __P((const char *, int)); int scanc __P((u_int, const u_char *, const u_char *, int)); int skpc __P((int, int, char *)); void srandom __P((u_long)); |