radv: enable radv_no_dynamic_bounds for more Path of Exile executables
[mesa.git] / src / util / u_string.h
index e7163927667517b51e30aaa7c1300467842f0452..88df2cceda66681d02e6b8c2f9752bce7f845080 100644 (file)
@@ -50,7 +50,7 @@
 extern "C" {
 #endif
 
-#ifndef _GNU_SOURCE
+#if !defined(_GNU_SOURCE) || defined(__APPLE__)
 
 #define strchrnul util_strchrnul
 static inline char *
@@ -99,21 +99,27 @@ util_vasprintf(char **ret, const char *format, va_list ap)
 }
 
 #define asprintf util_asprintf
-static inline char *
-util_asprintf(const char *fmt, ...)
+static inline int
+util_asprintf(char **str, const char *fmt, ...)
 {
-   char *ptr;
+   int ret;
    va_list args;
    va_start(args, fmt);
-   if (vasprintf(&ptr, fmt, args) == -1)
-      ptr = NULL;
+   ret = vasprintf(str, fmt, args);
    va_end(args);
-   return ptr;
+   return ret;
 }
 
+#ifndef strcasecmp
 #define strcasecmp stricmp
+#endif
+
 #define strdup _strdup
 
+#if defined(_WIN32) && !defined(HAVE_STRTOK_R)
+#define strtok_r strtok_s
+#endif
+
 #endif