extern "C" {
#endif
-#ifndef _GNU_SOURCE
+#if !defined(_GNU_SOURCE) || defined(__APPLE__)
#define strchrnul util_strchrnul
static inline char *
}
#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