]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/device/subrs.c
xnu-2422.90.20.tar.gz
[apple/xnu.git] / osfmk / device / subrs.c
index 4956a3b406597690845b7edbcb18f26e22bbf2cb..99f8d5032f6e70891e7f71c5abd4e918d5f32ae2 100644 (file)
@@ -262,7 +262,6 @@ strncasecmp(const char *s1, const char *s2, size_t n)
  * Deprecation Warning: 
  *     strcpy() is being deprecated. Please use strlcpy() instead.
  */
-#if !CONFIG_EMBEDDED
 char *
 strcpy(
         char *to,
@@ -275,7 +274,6 @@ strcpy(
 
         return ret;
 }
-#endif
 
 /*
  * Abstract:
@@ -286,7 +284,7 @@ strcpy(
  *      to the "to" string.
  */
 
-// ARM implementation in ../arm/strncpy.s
+// ARM implementation in ../arm/strncpy.c
 char *
 strncpy(
        char *s1, 
@@ -382,7 +380,7 @@ atoi_term(
  */
 
 // ARM implementation in ../arm/strnlen.s
-size_t 
+size_t
 strnlen(const char *s, size_t max) {
        const char *es = s + max, *p = s;
        while(*p && p != es) 
@@ -432,7 +430,6 @@ itoa(
  * Deprecation Warning:
  *     strcat() is being deprecated. Please use strlcat() instead.
  */
-#if !CONFIG_EMBEDDED
 char *
 strcat(
        char *dest,
@@ -446,7 +443,6 @@ strcat(
                ;
        return (old);
 }
-#endif
 
 /*
  * Appends src to string dst of size siz (unlike strncat, siz is the
@@ -489,7 +485,7 @@ strlcat(char *dst, const char *src, size_t siz)
  * Returns strlen(src); if retval >= siz, truncation occurred.
  */
 
-// ARM implementation in ../arm/strlcpy.s
+// ARM implementation in ../arm/strlcpy.c
 size_t
 strlcpy(char *dst, const char *src, size_t siz)
 {
@@ -571,3 +567,25 @@ strprefix(register const char *s1, register const char *s2)
         }       
         return (1);
 }
+
+char *
+strnstr(char *s, const char *find, size_t slen)
+{
+  char c, sc;
+  size_t len;
+  
+  if ((c = *find++) != '\0') {
+    len = strlen(find);
+    do {
+      do {
+        if ((sc = *s++) == '\0' || slen-- < 1)
+          return (NULL);
+      } while (sc != c);
+      if (len > slen)
+        return (NULL);
+    } while (strncmp(s, find, len) != 0);
+    s--;
+  }
+  return (s);
+}
+