gallium/util: Define util_strchrnul.
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 25 Nov 2011 13:37:07 +0000 (14:37 +0100)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 11 May 2012 10:39:42 +0000 (12:39 +0200)
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
src/gallium/auxiliary/util/u_string.h

index cc7992d73910ec03a50012f2d302efa3e014e9cd..ed15981f1a5b61afe62532bda3a9c27460e3bbbc 100644 (file)
 extern "C" {
 #endif
 
+#ifdef _GNU_SOURCE
+
+#define util_strchrnul strchrnul
+
+#else
+
+static INLINE char *
+util_strchrnul(const char *s, char c)
+{
+   for (; *s && *s != c; ++s);
+
+   return (char *)s;
+}
+
+#endif
 
 #ifdef WIN32
 
@@ -72,12 +87,9 @@ util_sprintf(char *str, const char *format, ...)
 static INLINE char *
 util_strchr(const char *s, char c)
 {
-   while(*s) {
-      if(*s == c)
-        return (char *)s;
-      ++s;
-   }
-   return NULL;
+   char *p = util_strchrnul(s, c);
+
+   return *p ? p : NULL;
 }
 
 static INLINE char*