Make using a general context (that is only needed with NED) to depend
on NED being selected at compile time.
the compile_context could be also make conditional but it gets ugly
really fasts with #ifdef
---
Makefile | 2 +-
grep.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 8a7e235352..995e6c9351 100644
--- a/Makefile
+++ b/Makefile
@@ -1774,7 +1774,7 @@ ifdef NATIVE_CRLF
endif
ifdef USE_NED_ALLOCATOR
- COMPAT_CFLAGS += -Icompat/nedmalloc
+ COMPAT_CFLAGS += -DUSE_NED_ALLOCATOR -Icompat/nedmalloc
COMPAT_OBJS += compat/nedmalloc/nedmalloc.o
OVERRIDE_STRDUP = YesPlease
endif
diff --git a/grep.c b/grep.c
index 8255ec956e..233072ed80 100644
--- a/grep.c
+++ b/grep.c
@@ -482,6 +482,7 @@ static void free_pcre1_regexp(struct grep_pat *p)
#endif /* !USE_LIBPCRE1 */
#ifdef USE_LIBPCRE2
+#ifdef USE_NED_ALLOCATOR
static void *pcre2_malloc(PCRE2_SIZE size, MAYBE_UNUSED void *memory_data)
{
return xmalloc(size);
@@ -491,6 +492,7 @@ static void pcre2_free(void *pointer, MAYBE_UNUSED void
*memory_data)
{
free(pointer);
}
+#endif
static void compile_pcre2_pattern(struct grep_pat *p, const struct grep_opt
*opt)
{
@@ -505,7 +507,9 @@ static void compile_pcre2_pattern(struct grep_pat *p, const
struct grep_opt *opt
assert(opt->pcre2);
+#ifdef USE_NED_ALLOCATOR
p->pcre2_general_context = pcre2_general_context_create(pcre2_malloc,
pcre2_free, NULL);
+#endif
p->pcre2_compile_context =
pcre2_compile_context_create(p->pcre2_general_context);
if (opt->ignore_case) {
--
2.23.0.rc2