32 lines
1.5 KiB
Diff
32 lines
1.5 KiB
Diff
|
From 4072b2787074ee8e247a6639585b49e10c5a55fe Mon Sep 17 00:00:00 2001
|
||
|
From: "Christoph M. Becker" <cmbecker69@gmx.de>
|
||
|
Date: Tue, 20 Mar 2018 16:35:39 +0100
|
||
|
Subject: [PATCH] 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.
|
||
|
---
|
||
|
NEWS | 2 ++
|
||
|
ext/mbstring/php_mbregex.c | 2 +-
|
||
|
2 files changed, 3 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/ext/mbstring/php_mbregex.c b/ext/mbstring/php_mbregex.c
|
||
|
index a5a6cd0..7a70c63 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);
|
||
|
--
|
||
|
2.1.4
|
||
|
|