summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-graphics/wayland/wayland/0001-scanner-Add-configure-check-for-strndup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-graphics/wayland/wayland/0001-scanner-Add-configure-check-for-strndup.patch')
-rw-r--r--poky/meta/recipes-graphics/wayland/wayland/0001-scanner-Add-configure-check-for-strndup.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/poky/meta/recipes-graphics/wayland/wayland/0001-scanner-Add-configure-check-for-strndup.patch b/poky/meta/recipes-graphics/wayland/wayland/0001-scanner-Add-configure-check-for-strndup.patch
new file mode 100644
index 000000000..c4435875a
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/wayland/0001-scanner-Add-configure-check-for-strndup.patch
@@ -0,0 +1,50 @@
+From 3c8b4467a1ca229e72fb5223787ed400a19c65c0 Mon Sep 17 00:00:00 2001
+From: Joshua Watt <JPEWhacker@gmail.com>
+Date: Fri, 25 Oct 2019 21:03:23 -0500
+Subject: [PATCH] scanner: Add configure check for strndup
+
+Some platforms may not have strndup() (e.g. MinGW), so provide a
+equivalent implementation if it's not found.
+
+Upstream-Status: Accepted [4a1f348c20157db7bd7c759fdeb23fbe8729c571]
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+---
+ configure.ac | 2 +-
+ src/scanner.c | 11 +++++++++++
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8d56f2b..1c99e21 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -63,7 +63,7 @@ fi
+ AC_SUBST(GCC_CFLAGS)
+
+ AC_CHECK_HEADERS([sys/prctl.h])
+-AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate prctl])
++AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate prctl strndup])
+
+ AC_ARG_ENABLE([libraries],
+ [AC_HELP_STRING([--disable-libraries],
+diff --git a/src/scanner.c b/src/scanner.c
+index a94be5d..27004bc 100644
+--- a/src/scanner.c
++++ b/src/scanner.c
+@@ -916,6 +916,17 @@ verify_arguments(struct parse_context *ctx,
+
+ }
+
++#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)
+ {