]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.3' into PHP-7.4
authorNikita Popov <nikita.ppv@gmail.com>
Tue, 8 Oct 2019 14:14:06 +0000 (16:14 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 8 Oct 2019 14:14:06 +0000 (16:14 +0200)
1  2 
ext/pcre/php_pcre.c
ext/pcre/php_pcre.h

index 34c8389ebb4162cc8d115484de1d97529dedb2d6,e82dc252b2742dcf5cb6bb50d27f144e2a6d9cde..d19c7960a667a76c50c6cf85fe7a9b32bf9c9521
@@@ -587,7 -551,8 +587,7 @@@ PHPAPI pcre_cache_entry* pcre_get_compi
        zend_string             *key;
        pcre_cache_entry *ret;
  
-       if (BG(locale_string) &&
 -#if HAVE_SETLOCALE
+       if (locale_aware && BG(locale_string) &&
                (ZSTR_LEN(BG(locale_string)) != 1 && ZSTR_VAL(BG(locale_string))[0] != 'C')) {
                key = zend_string_alloc(ZSTR_LEN(regex) + ZSTR_LEN(BG(locale_string)) + 1, 0);
                memcpy(ZSTR_VAL(key), ZSTR_VAL(BG(locale_string)), ZSTR_LEN(BG(locale_string)) + 1);
  }
  /* }}} */
  
+ /* {{{ pcre_get_compiled_regex_cache
+  */
+ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex)
+ {
+       return pcre_get_compiled_regex_cache_ex(regex, 1);
+ }
+ /* }}} */
  /* {{{ pcre_get_compiled_regex
   */
 -PHPAPI pcre2_code *pcre_get_compiled_regex(zend_string *regex, uint32_t *capture_count, uint32_t *preg_options)
 +PHPAPI pcre2_code *pcre_get_compiled_regex(zend_string *regex, uint32_t *capture_count)
  {
        pcre_cache_entry * pce = pcre_get_compiled_regex_cache(regex);
  
index 1a28d1733a7d483eb3b242c19659e48d57a629c1,9fd8259b40145e92059b9b281ea75a8664552183..b375981df3f3d1b41363409ac016b6d3d1457414
@@@ -40,8 -44,9 +40,9 @@@ extern zend_module_entry pcre_module_en
  typedef struct _pcre_cache_entry pcre_cache_entry;
  
  PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex);
+ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache_ex(zend_string *regex, int locale_aware);
  
 -PHPAPI void  php_pcre_match_impl(  pcre_cache_entry *pce, char *subject, size_t subject_len, zval *return_value,
 +PHPAPI void  php_pcre_match_impl(pcre_cache_entry *pce, zend_string *subject_str, zval *return_value,
        zval *subpats, int global, int use_flags, zend_long flags, zend_off_t start_offset);
  
  PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *subject_str, char *subject, size_t subject_len, zend_string *replace_str,