[perl-re-engine-RE2] Fix RT#95144

Jitka Plesnikova jplesnik at fedoraproject.org
Fri Aug 1 06:02:46 UTC 2014


commit 0f632bcae8f3e4a8414436223334166721ccdf6d
Author: Jitka Plesnikova <jplesnik at redhat.com>
Date:   Fri Aug 1 08:02:33 2014 +0200

    Fix RT#95144

 perl-re-engine-RE2.spec               |    8 ++++
 re-engine-RE2-0.11-Fix-RT-95144.patch |   61 +++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 0 deletions(-)
---
diff --git a/perl-re-engine-RE2.spec b/perl-re-engine-RE2.spec
index 00974e8..965707d 100644
--- a/perl-re-engine-RE2.spec
+++ b/perl-re-engine-RE2.spec
@@ -14,6 +14,10 @@ Patch0:           re-engine-RE2-0.11-Unbundle-re2.patch
 #     https://rt.cpan.org/Public/Bug/Display.html?id=96338
 Patch1:           re-engine-RE2-0.11-Fix-build-with-Werror-format-security.patch
 
+# Reported upstream:
+#     https://rt.cpan.org/Public/Bug/Display.html?id=95144
+Patch2:           re-engine-RE2-0.11-Fix-RT-95144.patch
+
 BuildRequires:    perl(ExtUtils::CppGuess)
 BuildRequires:    perl(ExtUtils::MakeMaker)
 BuildRequires:    perl(XSLoader)
@@ -39,6 +43,7 @@ rm -fr re2
 
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 
 %build
@@ -67,6 +72,9 @@ make test
 
 
 %changelog
+* Fri Aug 01 2014 Jitka Plesnikova <jplesnik at redhat.com> - 0.11-8
+- Fix for Perl 5.20 (RT#95144)
+
 * Mon Jun 09 2014 Mathieu Bridon <bochecha at fedoraproject.org> - 0.11-7
 - Fix the build with -Werror=format-security.
 
diff --git a/re-engine-RE2-0.11-Fix-RT-95144.patch b/re-engine-RE2-0.11-Fix-RT-95144.patch
new file mode 100644
index 0000000..8afdb95
--- /dev/null
+++ b/re-engine-RE2-0.11-Fix-RT-95144.patch
@@ -0,0 +1,61 @@
+diff -ru re-engine-RE2-0.11-orig/re2_xs.cc re-engine-RE2-0.11/re2_xs.cc
+--- re-engine-RE2-0.11-orig/re2_xs.cc	2012-07-29 21:27:10.000000000 +1000
++++ re-engine-RE2-0.11/re2_xs.cc	2014-05-15 13:39:15.000000000 +1000
+@@ -30,10 +30,17 @@
+             const
+ #endif
+             SV * const, U32);
++#if PERL_VERSION >= 19
++    char *   RE2_intuit(pTHX_ REGEXP * const, SV *, const char *,
++                        char *, char *, U32, re_scream_pos_data *);
++    I32      RE2_exec(pTHX_ REGEXP * const, char *, char *,
++                      char *, SSize_t, SV *, void *, U32);
++#else
+     I32      RE2_exec(pTHX_ REGEXP * const, char *, char *,
+                       char *, I32, SV *, void *, U32);
+     char *   RE2_intuit(pTHX_ REGEXP * const, SV *, char *,
+                         char *, U32, re_scream_pos_data *);
++#endif
+     SV *     RE2_checkstr(pTHX_ REGEXP * const);
+     void     RE2_free(pTHX_ REGEXP * const);
+     SV *     RE2_package(pTHX_ REGEXP * const);
+@@ -243,10 +250,17 @@
+     return rx_sv;
+ }
+ 
++#if PERL_VERSION >= 19
++I32
++RE2_exec(pTHX_ REGEXP * const rx, char *stringarg, char *strend,
++          char *strbeg, SSize_t minend, SV * sv,
++          void *data, U32 flags)
++#else
+ I32
+ RE2_exec(pTHX_ REGEXP * const rx, char *stringarg, char *strend,
+           char *strbeg, I32 minend, SV * sv,
+           void *data, U32 flags)
++#endif
+ {
+     RE2 * ri = (RE2*) RegSV(rx)->pprivate;
+     regexp * re = RegSV(rx);
+@@ -291,12 +305,21 @@
+     return 1;
+ }
+ 
++#if PERL_VERSION >= 19
++char *
++RE2_intuit(pTHX_ REGEXP * const rx, SV * sv, const char *strbeg, char *strpos,
++             char *strend, U32 flags, re_scream_pos_data *data)
++#else
+ char *
+ RE2_intuit(pTHX_ REGEXP * const rx, SV * sv, char *strpos,
+              char *strend, U32 flags, re_scream_pos_data *data)
++#endif
+ {
+ 	PERL_UNUSED_ARG(rx);
+ 	PERL_UNUSED_ARG(sv);
++#if PERL_VERSION >= 19
++	PERL_UNUSED_ARG(strbeg);
++#endif
+ 	PERL_UNUSED_ARG(strpos);
+ 	PERL_UNUSED_ARG(strend);
+ 	PERL_UNUSED_ARG(flags);



More information about the perl-devel mailing list