summaryrefslogtreecommitdiff
path: root/devel/php52-pcre/files/patch-php_pcre.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/php52-pcre/files/patch-php_pcre.c')
-rw-r--r--devel/php52-pcre/files/patch-php_pcre.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/devel/php52-pcre/files/patch-php_pcre.c b/devel/php52-pcre/files/patch-php_pcre.c
index 4cab8e3aefaf..40036f9df98c 100644
--- a/devel/php52-pcre/files/patch-php_pcre.c
+++ b/devel/php52-pcre/files/patch-php_pcre.c
@@ -11,3 +11,24 @@
#include "php.h"
#include "php_ini.h"
#include "php_globals.h"
+@@ -241,6 +241,7 @@
+ char *pattern;
+ int do_study = 0;
+ int poptions = 0;
++ int count = 0;
+ unsigned const char *tables = NULL;
+ #if HAVE_SETLOCALE
+ char *locale = setlocale(LC_CTYPE, NULL);
+@@ -252,10 +253,10 @@
+ back the compiled pattern, otherwise go on and compile it. */
+ if (zend_hash_find(&PCRE_G(pcre_cache), regex, regex_len+1, (void **)&pce) == SUCCESS) {
+ /*
+- * We use a quick pcre_info() check to see whether cache is corrupted, and if it
++ * We use a quick pcre_fullinfo() check to see whether cache is corrupted, and if it
+ * is, we flush it and compile the pattern from scratch.
+ */
+- if (pcre_info(pce->re, NULL, NULL) == PCRE_ERROR_BADMAGIC) {
++ if (pcre_fullinfo(pce->re, NULL, PCRE_INFO_CAPTURECOUNT, &count) == PCRE_ERROR_BADMAGIC) {
+ zend_hash_clean(&PCRE_G(pcre_cache));
+ } else {
+ #if HAVE_SETLOCALE