summaryrefslogtreecommitdiff
path: root/compat/regex
diff options
context:
space:
mode:
authorLibravatar Đoàn Trần Công Danh <congdanhqx@gmail.com>2020-04-27 21:22:35 +0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-04-27 11:21:16 -0700
commit3bc1f9e48cb9640c901d19f193f4417ca805a86a (patch)
tree3f8eaa9d1e7f68a13e6de85043626287ee5ca1ae /compat/regex
parenttest-parse-pathspec-file.c: s/0/NULL/ for pointer type (diff)
downloadtgif-3bc1f9e48cb9640c901d19f193f4417ca805a86a.tar.xz
compat/regex: move stdlib.h up in inclusion chain
In Linux with musl libc, we have this inclusion chain: compat/regex/regex.c:69 `-> compat/regex/regex_internal.h `-> /usr/include/stdlib.h `-> /usr/include/features.h `-> /usr/include/alloca.h In that inclusion chain, `<features.h>` claims it's _BSD_SOURCE compatible when it's NOT asked to be either {_POSIX,_GNU,_XOPEN,_BSD}_SOURCE, or __STRICT_ANSI__. And, `<stdlib.h>` will include `<alloca.h>` to be compatible with software written for GNU and BSD. Thus, redefine `alloca` macro, which was defined before at compat/regex/regex.c:66. Considering this is only compat code, we've taken from other project, it's not our business to decide which source should we adhere to. Include `<stdlib.h>` early to prevent the redefinition of alloca. This also remove a potential warning about alloca not defined on: #undef alloca Helped-by: Ramsay Jones <ramsay@ramsayjones.plus.com> Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/regex')
-rw-r--r--compat/regex/regex.c1
-rw-r--r--compat/regex/regex_internal.h1
2 files changed, 1 insertions, 1 deletions
diff --git a/compat/regex/regex.c b/compat/regex/regex.c
index f3e03a9eab..e6f4a5d177 100644
--- a/compat/regex/regex.c
+++ b/compat/regex/regex.c
@@ -60,6 +60,7 @@
#undefs RE_DUP_MAX and sets it to the right value. */
#include <limits.h>
#include <stdint.h>
+#include <stdlib.h>
#ifdef GAWK
#undef alloca
diff --git a/compat/regex/regex_internal.h b/compat/regex/regex_internal.h
index 3ee8aae59d..0bad8b841e 100644
--- a/compat/regex/regex_internal.h
+++ b/compat/regex/regex_internal.h
@@ -23,7 +23,6 @@
#include <assert.h>
#include <ctype.h>
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#if defined HAVE_LANGINFO_H || defined HAVE_LANGINFO_CODESET || defined _LIBC