changeset 860:536c2e94defa libavutil

Add av_stristr() function This is a case-insensitive version of strstr().
author mru
date Sat, 06 Mar 2010 19:41:22 +0000
parents d0230d2b1696
children a8444182f978
files avstring.c avstring.h
diffstat 2 files changed, 26 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/avstring.c	Sat Mar 06 14:24:59 2010 +0000
+++ b/avstring.c	Sat Mar 06 19:41:22 2010 +0000
@@ -48,6 +48,19 @@
     return !*pfx;
 }
 
+char *av_stristr(const char *s1, const char *s2)
+{
+    if (!*s2)
+        return s1;
+
+    do {
+        if (av_stristart(s1, s2, NULL))
+            return s1;
+    } while (*s1++);
+
+    return NULL;
+}
+
 size_t av_strlcpy(char *dst, const char *src, size_t size)
 {
     size_t len = 0;
--- a/avstring.h	Sat Mar 06 14:24:59 2010 +0000
+++ b/avstring.h	Sat Mar 06 19:41:22 2010 +0000
@@ -47,6 +47,19 @@
 int av_stristart(const char *str, const char *pfx, const char **ptr);
 
 /**
+ * Locate the first case-independent occurrence in the string s1 of
+ * the string s2.  A zero-length string s2 is considered to match at
+ * the start of s1.
+ *
+ * This function is a case-insensitive version of the standard strstr().
+ *
+ * @param s1 string to search in
+ * @param s2 string to search for
+ * @return pointer to the located match within s1 or a null pointer if no match
+ */
+char *av_stristr(const char *s1, const char *s2);
+
+/**
  * Copy the string src to dst, but no more than size - 1 bytes, and
  * null-terminate dst.
  *