diff options
author | Conrad Meyer <cem@FreeBSD.org> | 2018-06-04 18:47:14 +0000 |
---|---|---|
committer | Conrad Meyer <cem@FreeBSD.org> | 2018-06-04 18:47:14 +0000 |
commit | 3d825c42cad66b2c7f537c1d487cbf7cbb06a937 (patch) | |
tree | 50a68e9e4adaeecff66310bae2c1b4695feabb4b | |
parent | cf823003a702e53cc42ba8c9cd1eb8cffaa4ed5d (diff) |
Notes
-rw-r--r-- | sys/libkern/strchr.c | 19 | ||||
-rw-r--r-- | sys/libkern/strrchr.c | 20 |
2 files changed, 16 insertions, 23 deletions
diff --git a/sys/libkern/strchr.c b/sys/libkern/strchr.c index 6ebcd7ffbb217..b1a252b9da4d2 100644 --- a/sys/libkern/strchr.c +++ b/sys/libkern/strchr.c @@ -36,19 +36,16 @@ __FBSDID("$FreeBSD$"); #include <sys/libkern.h> char * -strchr(const char *p, int ch) +strchr(const char *cp, int ch) { - union { - const char *cp; - char *p; - } u; + char *p; - u.cp = p; - for (;; ++u.p) { - if (*u.p == ch) - return(u.p); - if (*u.p == '\0') - return(NULL); + p = __DECONST(char *, cp); + for (;; ++p) { + if (*p == ch) + return (p); + if (*p == '\0') + return (NULL); } /* NOTREACHED */ } diff --git a/sys/libkern/strrchr.c b/sys/libkern/strrchr.c index a43a283cb6ec2..acb3554fb5456 100644 --- a/sys/libkern/strrchr.c +++ b/sys/libkern/strrchr.c @@ -36,20 +36,16 @@ __FBSDID("$FreeBSD$"); #include <sys/libkern.h> char * -strrchr(const char *p, int ch) +strrchr(const char *cp, int ch) { - union { - const char *cp; - char *p; - } u; - char *save; + char *p, *save; - u.cp = p; - for (save = NULL;; ++u.p) { - if (*u.p == ch) - save = u.p; - if (*u.p == '\0') - return(save); + p = __DECONST(char *, cp); + for (save = NULL;; ++p) { + if (*p == ch) + save = p; + if (*p == '\0') + return (save); } /* NOTREACHED */ } |