simplify stristart()
[libav.git] / libavformat / cutils.c
index 55257a5..eeeef51 100644 (file)
@@ -44,23 +44,15 @@ int strstart(const char *str, const char *pfx, const char **ptr)
  * prefix.
  *
  * @param str input string
  * prefix.
  *
  * @param str input string
- * @param val prefix to test
+ * @param pfx prefix to test
  * @param ptr updated after the prefix in str in there is a match
  * @return TRUE if there is a match */
  * @param ptr updated after the prefix in str in there is a match
  * @return TRUE if there is a match */
-int stristart(const char *str, const char *val, const char **ptr)
+int stristart(const char *str, const char *pfx, const char **ptr)
 {
 {
-    const char *p, *q;
-    p = str;
-    q = val;
-    while (*q != '\0') {
-        if (toupper(*(const unsigned char *)p) != toupper(*(const unsigned char *)q))
-            return 0;
-        p++;
-        q++;
-    }
-    if (ptr)
-        *ptr = p;
-    return 1;
+    while (*pfx && toupper((unsigned)*pfx++) == toupper((unsigned)*str++));
+    if (!*pfx && ptr)
+        *ptr = str;
+    return !*pfx;
 }
 
 /**
 }
 
 /**
@@ -86,8 +78,7 @@ void pstrcpy(char *buf, int buf_size, const char *str)
 /* strcat and truncate. */
 char *pstrcat(char *buf, int buf_size, const char *s)
 {
 /* strcat and truncate. */
 char *pstrcat(char *buf, int buf_size, const char *s)
 {
-    int len;
-    len = strlen(buf);
+    int len = strlen(buf);
     if (len < buf_size)
         pstrcpy(buf + len, buf_size - len, s);
     return buf;
     if (len < buf_size)
         pstrcpy(buf + len, buf_size - len, s);
     return buf;