summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2018-03-20 16:35:39 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2018-03-20 16:42:28 +0100
commit4072b2787074ee8e247a6639585b49e10c5a55fe (patch)
tree595934864efb49f0965740e4f20fb47611eb9092
parent47461368ca4ea2d2c23482cbd655bd96b2acbfc8 (diff)
downloadphp-git-4072b2787074ee8e247a6639585b49e10c5a55fe.tar.gz
Fix #76113: mbstring does not build with Oniguruma 6.8.1
As of Oniguruma 6.8.1, the regex structure has been moved from the public `oniguruma.h` to the private `regint.h`. Thus, it is no longer possible to directly access the struct's members, and actually, there is no need to, since there are respective accessor functions available at least of 2.3.1.
-rw-r--r--NEWS2
-rw-r--r--ext/mbstring/php_mbregex.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 921d9123d1..d9febf7349 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,8 @@ PHP NEWS
- Mbstring:
. Fixed bug #75944 (Wrong cp1251 detection). (dmk001)
+ . Fixed bug #76113 (mbstring does not build with Oniguruma 6.8.1).
+ (chrullrich, cmb)
29 Mar 2018, PHP 7.1.16
diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c
index a5a6cd08ad..7a70c63b56 100644
--- a/ext/mbstring/php_mbregex.c
+++ b/ext/mbstring/php_mbregex.c
@@ -452,7 +452,7 @@ static php_mb_regex_t *php_mbregex_compile_pattern(const char *pattern, int patl
OnigUChar err_str[ONIG_MAX_ERROR_MESSAGE_LEN];
rc = zend_hash_str_find_ptr(&MBREX(ht_rc), (char *)pattern, patlen);
- if (!rc || rc->options != options || rc->enc != enc || rc->syntax != syntax) {
+ if (!rc || onig_get_options(rc) != options || onig_get_encoding(rc) != enc || onig_get_syntax(rc) != syntax) {
if ((err_code = onig_new(&retval, (OnigUChar *)pattern, (OnigUChar *)(pattern + patlen), options, enc, syntax, &err_info)) != ONIG_NORMAL) {
onig_error_code_to_str(err_str, err_code, &err_info);
php_error_docref(NULL, E_WARNING, "mbregex compile err: %s", err_str);