summaryrefslogtreecommitdiff
path: root/ext/intl/transliterator
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-04-28 04:13:34 +0300
committerDmitry Stogov <dmitry@zend.com>2016-04-28 04:13:34 +0300
commit6499162ff0d8aa6e862d3e3cdd2288b87636b8a1 (patch)
treeb1de28564ceb5249bd207a6291fff0ab3dac877f /ext/intl/transliterator
parent8339222106ac38090e9790f1abbbe2c70c1840fd (diff)
downloadphp-git-6499162ff0d8aa6e862d3e3cdd2288b87636b8a1.tar.gz
- get rid of EG(scope). zend_get_executed_scope() should be used instead.
- ichanged zval_update_constant_ex(). Use IS_TYPE_IMMUTABLE flag on shared constants and AST, instead of "inline_change" parameter.
Diffstat (limited to 'ext/intl/transliterator')
-rw-r--r--ext/intl/transliterator/transliterator_class.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/intl/transliterator/transliterator_class.c b/ext/intl/transliterator/transliterator_class.c
index ce8c7e6291..5c80b25af8 100644
--- a/ext/intl/transliterator/transliterator_class.c
+++ b/ext/intl/transliterator/transliterator_class.c
@@ -269,9 +269,15 @@ static zval *Transliterator_read_property( zval *object, zval *member, int type,
static void Transliterator_write_property( zval *object, zval *member, zval *value,
void **cache_slot )
{
+ zend_class_entry *scope;
TRANSLITERATOR_PROPERTY_HANDLER_PROLOG;
- if( ( EG( scope ) != Transliterator_ce_ptr ) &&
+ if (EG(fake_scope)) {
+ scope = EG(fake_scope);
+ } else {
+ scope = zend_get_executed_scope();
+ }
+ if( ( scope != Transliterator_ce_ptr ) &&
( zend_binary_strcmp( "id", sizeof( "id" ) - 1,
Z_STRVAL_P( member ), Z_STRLEN_P( member ) ) == 0 ) )
{