]> granicus.if.org Git - apache/commitdiff
BZ 52623: Fix building against PCRE 8.30.
authorRainer Jung <rjung@apache.org>
Sat, 11 Feb 2012 23:00:36 +0000 (23:00 +0000)
committerRainer Jung <rjung@apache.org>
Sat, 11 Feb 2012 23:00:36 +0000 (23:00 +0000)
PCRE dropped support for pcre_info() which is
deprecated since a long time. Use pcre_fullinfo()
instead, which exists since version 3.0 of PCRE.

Patch provided by Ruediger Pluem.

Backport of r1243176 from trunk.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1243177 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
include/ap_mmn.h
include/ap_regex.h
server/util_pcre.c

diff --git a/CHANGES b/CHANGES
index bcd405b0e53a6302bab62ee5e5c2d5a81ac57fe6..e9e43832f27854a1025b57dd72d78fb04ad89dbd 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -28,6 +28,9 @@ Changes with Apache 2.4.1
 
   *) Doxygen fixes and improvements. [Joe Orton, Igor Galić]
 
+  *) core: Fix building against PCRE 8.30 by switching from the obsolete
+     pcre_info() to pcre_fullinfo(). PR 52623 [Ruediger Pluem, Rainer Jung]
+
 Changes with Apache 2.4.0
 
   *) SECURITY: CVE-2012-0031 (cve.mitre.org)
index 207fb059bb7b7437414996d5b8dc26116dfa084b..31bfbc4e07599f4b75a0708ca4a2f650a3143c08 100644 (file)
  *                         private;
  *                         move core_net rec definition to http_core.h;
  *                         add insert_network_bucket hook, AP_DECLINED
+ * 20120211.0 (2.4.1-dev)  Change re_nsub in ap_regex_t from apr_size_t to int.
  */
 
 #define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
 
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
-#define MODULE_MAGIC_NUMBER_MAJOR 20120109
+#define MODULE_MAGIC_NUMBER_MAJOR 20120211
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 2                   /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 0                   /* 0...n */
 
 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
index 787dc599a9a8ca18e1711cdcb3611dc8d4b67b05..5122154d90f4b11de43c666b8f9797e3ab7ebe4a 100644 (file)
@@ -88,7 +88,7 @@ enum {
 /* The structure representing a compiled regular expression. */
 typedef struct {
     void *re_pcre;
-    apr_size_t re_nsub;
+    int re_nsub;
     apr_size_t re_erroffset;
 } ap_regex_t;
 
index 7196878d0cdf59d00f44712b7cb9ce1a8b0bb78b..2d157c0c10b90fe12fedb9e5b891ef7e9e7f2d0f 100644 (file)
@@ -139,7 +139,8 @@ AP_DECLARE(int) ap_regcomp(ap_regex_t * preg, const char *pattern, int cflags)
     if (preg->re_pcre == NULL)
         return AP_REG_INVARG;
 
-    preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
+    pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
+                   PCRE_INFO_CAPTURECOUNT, &(preg->re_nsub));
     return 0;
 }