Some platforms may not have strndup() (e.g. MinGW), so provide a
equivalent implementation if it's not found.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
AC_SUBST(GCC_CFLAGS)
AC_CHECK_HEADERS([sys/prctl.h])
-AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate prctl memfd_create])
+AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate prctl memfd_create strndup])
# *BSD don't have libdl, but they have its functions in libc
WESTON_SEARCH_LIBS([DL], [dl], [dlsym])
}
+#ifndef HAVE_STRNDUP
+char *
+strndup(const char *s, size_t size)
+{
+ char *r = malloc(size + 1);
+ strncpy(r, s, size);
+ r[size] = '\0';
+ return r;
+}
+#endif
+
static void
end_element(void *data, const XML_Char *name)
{