summaryrefslogtreecommitdiff
path: root/src/utils.h
diff options
context:
space:
mode:
authorAdrian Perez de Castro <aperez@igalia.com>2019-08-05 16:18:05 +0300
committerRan Benita <ran@unusedvar.com>2019-12-27 12:45:34 +0200
commitbdff8ebe3c0be4f55281a3ec7d70be753e2456c0 (patch)
tree5ae3022284b3d075b5049541e3dcf9cc63e50474 /src/utils.h
parent93a13050d64cbd98168df6a4257cf84a7139542f (diff)
downloadxorg-lib-libxkbcommon-bdff8ebe3c0be4f55281a3ec7d70be753e2456c0.tar.gz
Provide a fallback implementation of [v]asprintf()
Some environments (e.g. Windows + MSVC) do not provide asprintf() or vasprintf(). This tries to detect their presence, and provides suitable fallback implementations when not available.
Diffstat (limited to 'src/utils.h')
-rw-r--r--src/utils.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/utils.h b/src/utils.h
index d796e10..acd191e 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -259,4 +259,12 @@ unmap_file(char *string, size_t size);
#define ATTR_PACKED
#endif
+#if !(defined(HAVE_ASPRINTF) && HAVE_ASPRINTF)
+int asprintf(char **strp, const char *fmt, ...) ATTR_PRINTF(2, 3);
+# if !(defined(HAVE_VASPRINTF) && HAVE_VASPRINTF)
+# include <stdarg.h>
+int vasprintf(char **strp, const char *fmt, va_list ap);
+# endif /* !HAVE_VASPRINTF */
+#endif /* !HAVE_ASPRINTF */
+
#endif /* UTILS_H */