aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2020-02-03 11:54:28 -0600
committerDenis Kenzior <denkenz@gmail.com>2020-02-03 11:54:28 -0600
commitfcdddf2b726439e049992878f90da607414a1a47 (patch)
tree316af662d02e37ce415581bd601c3a8c59212b25
parent40ad8be1136355d7ced9f79a59d81e9ad12de92c (diff)
downloadiwd-fcdddf2b726439e049992878f90da607414a1a47.tar.gz
build: Support missing rawmemchr
-rw-r--r--configure.ac1
-rw-r--r--src/missing.h10
-rw-r--r--src/wiphy.c1
3 files changed, 12 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 5ae1401ca..2d373a47b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -128,6 +128,7 @@ AC_DEFINE_UNQUOTED(WIRED_STORAGEDIR, "${wired_storagedir}",
[Directory for Ethernet daemon storage files])
AC_CHECK_FUNCS(explicit_bzero)
+AC_CHECK_FUNCS(rawmemchr)
AC_CHECK_HEADERS(linux/types.h linux/if_alg.h)
diff --git a/src/missing.h b/src/missing.h
index 2bb210ae3..2cc80aee5 100644
--- a/src/missing.h
+++ b/src/missing.h
@@ -27,3 +27,13 @@ static inline void explicit_bzero(void *s, size_t n)
__asm__ __volatile__ ("" : : "r"(s) : "memory");
}
#endif
+
+#ifndef HAVE_RAWMEMCHR
+static inline void *rawmemchr(const void *s, int c)
+{
+_Pragma("GCC diagnostic push")
+_Pragma("GCC diagnostic ignored \"-Wstringop-overflow=\"")
+ return memchr(s, c, (size_t) -1);
+_Pragma("GCC diagnostic pop")
+}
+#endif
diff --git a/src/wiphy.c b/src/wiphy.c
index 1da479db2..511bb27f5 100644
--- a/src/wiphy.c
+++ b/src/wiphy.c
@@ -37,6 +37,7 @@
#include "linux/nl80211.h"
+#include "src/missing.h"
#include "src/iwd.h"
#include "src/module.h"
#include "src/ie.h"