87 lines
3.6 KiB
Diff
87 lines
3.6 KiB
Diff
|
From e5a7fbea3d4478a57346135b8965c943a11da9c1 Mon Sep 17 00:00:00 2001
|
||
|
From: ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>
|
||
|
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ř <ppisar@redhat.com>: 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
|
||
|
|