From e5a7fbea3d4478a57346135b8965c943a11da9c1 Mon Sep 17 00:00:00 2001 From: ph10 Date: Fri, 21 Jul 2017 08:53:02 +0000 Subject: [PATCH] Put back pcre2_set_recursion_limit() as a real function, synonym for pcre2_set_depth_limit() in order to preserve the ABI. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@846 6239d852-aaf2-0410-a92c-79f79f948069 Petr Písař : Ported to 10.30-RC1 --- src/pcre2.h.generic | 4 +++- src/pcre2.h.in | 4 +++- src/pcre2_context.c | 8 +++++++- diff --git a/src/pcre2.h.generic b/src/pcre2.h.generic index 7cafb4c..287b12a 100644 --- a/src/pcre2.h.generic +++ b/src/pcre2.h.generic @@ -489,6 +489,8 @@ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_set_offset_limit(pcre2_match_context *, PCRE2_SIZE); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_recursion_limit(pcre2_match_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_set_recursion_memory_management(pcre2_match_context *, \ void *(*)(PCRE2_SIZE, void *), void (*)(void *, void *), void *); @@ -760,7 +762,7 @@ pcre2_compile are called by application code. */ #define pcre2_substring_number_from_name PCRE2_SUFFIX(pcre2_substring_number_from_name_) /* Keep this old function name for backwards compatibility */ -#define pcre2_set_recursion_limit pcre2_set_depth_limit +#define pcre2_set_recursion_limit PCRE2_SUFFIX(pcre2_set_recursion_limit_) /* Keep this obsolete function for backwards compatibility: it is now a noop. */ #define pcre2_set_recursion_memory_management PCRE2_SUFFIX(pcre2_set_recursion_memory_management_) diff --git a/src/pcre2.h.in b/src/pcre2.h.in index 399ddcd..4a8e126 100644 --- a/src/pcre2.h.in +++ b/src/pcre2.h.in @@ -489,6 +489,8 @@ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_set_offset_limit(pcre2_match_context *, PCRE2_SIZE); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_set_recursion_limit(pcre2_match_context *, uint32_t); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_set_recursion_memory_management(pcre2_match_context *, \ void *(*)(PCRE2_SIZE, void *), void (*)(void *, void *), void *); @@ -760,7 +762,7 @@ pcre2_compile are called by application code. */ #define pcre2_substring_number_from_name PCRE2_SUFFIX(pcre2_substring_number_from_name_) /* Keep this old function name for backwards compatibility */ -#define pcre2_set_recursion_limit pcre2_set_depth_limit +#define pcre2_set_recursion_limit PCRE2_SUFFIX(pcre2_set_recursion_limit_) /* Keep this obsolete function for backwards compatibility: it is now a noop. */ #define pcre2_set_recursion_memory_management PCRE2_SUFFIX(pcre2_set_recursion_memory_management_) diff --git a/src/pcre2_context.c b/src/pcre2_context.c index 9e557da..2c14df0 100644 --- a/src/pcre2_context.c +++ b/src/pcre2_context.c @@ -431,10 +431,16 @@ mcontext->offset_limit = limit; return 0; } -/* This function became obsolete at release 10.30. It is kept as a no-op for +/* This function became obsolete at release 10.30. It is kept as a synonym for backwards compatibility. */ PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION +pcre2_set_recursion_limit(pcre2_match_context *mcontext, uint32_t limit) +{ +return pcre2_set_depth_limit(mcontext, limit); +} + +PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION pcre2_set_recursion_memory_management(pcre2_match_context *mcontext, void *(*mymalloc)(size_t, void *), void (*myfree)(void *, void *), void *mydata) -- 2.9.4