Blame SOURCES/0006-Define-strdupa-if-it-is-not-defined.patch

d5c737
From be60850c79dcb62cf682ea496ec22d8ea45f9da2 Mon Sep 17 00:00:00 2001
d5c737
From: Chih-Wei Huang <cwhuang@linux.org.tw>
d5c737
Date: Thu, 10 Jan 2019 16:44:38 +0800
d5c737
Subject: [PATCH 06/63] Define strdupa if it is not defined
d5c737
d5c737
Android does not include strdupa in <string.h>. Define strdupa if it has
d5c737
not already been defined.
d5c737
d5c737
Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
d5c737
---
d5c737
 src/util.h | 11 +++++++++++
d5c737
 1 file changed, 11 insertions(+)
d5c737
d5c737
diff --git a/src/util.h b/src/util.h
d5c737
index 6d3c10e946e..d98bfa1beed 100644
d5c737
--- a/src/util.h
d5c737
+++ b/src/util.h
d5c737
@@ -252,6 +252,17 @@ lcm(uint64_t x, uint64_t y)
d5c737
         return (x / n) * y;
d5c737
 }
d5c737
 
d5c737
+#ifndef strdupa
d5c737
+#define strdupa(s)                                                      \
d5c737
+       (__extension__ ({                                                \
d5c737
+                const char *__in = (s);                                 \
d5c737
+                size_t __len = strlen (__in);                           \
d5c737
+                char *__out = (char *) alloca (__len + 1);              \
d5c737
+                strcpy(__out, __in);                                    \
d5c737
+                __out;                                                  \
d5c737
+        }))
d5c737
+#endif
d5c737
+
d5c737
 #ifndef strndupa
d5c737
 #define strndupa(s, l)                                                  \
d5c737
        (__extension__ ({                                                \
d5c737
-- 
d5c737
2.26.2
d5c737