]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Kernel/IOStringFuncs.c
xnu-4903.231.4.tar.gz
[apple/xnu.git] / iokit / Kernel / IOStringFuncs.c
index d536b72439fc361e2f0e7e0f5c2e2d9511027bf3..6890305d67e15fa4680b36fea3fa78ced4268a6c 100644 (file)
@@ -86,7 +86,6 @@ long strtol(const char *nptr, char **endptr, int base);
 unsigned long strtoul(const char *nptr, char **endptr, int base);
 quad_t strtoq(const char *nptr, char **endptr, int base);
 u_quad_t strtouq(const char *nptr, char **endptr, int base);
-char *strchr(const char *str, int ch);
 char *strncat(char *s1, const char *s2, unsigned long n);
 
 
@@ -469,19 +468,6 @@ strtouq(const char *nptr,
 }
 
 
-/*
- *
- */
-
-char *strchr(const char *str, int ch)
-{
-    do {
-       if (*str == ch)
-           return(__CAST_AWAY_QUALIFIER(str, const, char *));
-    } while (*str++);
-    return ((char *) 0);
-}
-
 /*
  *
  */
@@ -489,17 +475,18 @@ char *strchr(const char *str, int ch)
 char *
 strncat(char *s1, const char *s2, unsigned long n)
 {
-       char *os1;
-       int i = n;
-
-       os1 = s1;
-       while (*s1++)
-               ;
-       --s1;
-       while ((*s1++ = *s2++))
-               if (--i < 0) {
-                       *--s1 = '\0';
-                       break;
-               }
-       return(os1);
+       if (n != 0) {
+               char *d = s1;
+               const char *s = s2;
+
+               while (*d != 0)
+                       d++;
+               do {
+                       if ((*d = *s++) == '\0')
+                               break;
+                       d++;
+               } while (--n != 0);
+               *d = '\0';
+       }
+       return (s1);
 }