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