From: Dmitry Stogov Date: Tue, 25 Feb 2014 13:56:03 +0000 (+0400) Subject: Fixed foreach() over object properties X-Git-Tag: POST_PHPNG_MERGE~412^2~526 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4fd84823f66b117242eeeb35eff9a76a6b17b335;p=php Fixed foreach() over object properties --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index d0e17cea51..ef8817191f 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -4357,12 +4357,12 @@ ZEND_VM_HANDLER(78, ZEND_FE_FETCH, VAR, ANY) if (key_type == HASH_KEY_IS_LONG) { ZVAL_LONG(key, int_key); } else { -//??? const char *class_name, *prop_name; -//??? int prop_name_len; -//??? zend_unmangle_property_name_ex( -//??? str_key, &class_name, &prop_name, &prop_name_len -//??? ); -//??? ZVAL_STRINGL(key, prop_name, prop_name_len, 1); + const char *class_name, *prop_name; + int prop_name_len; + zend_unmangle_property_name_ex( + str_key->val, str_key->len, &class_name, &prop_name, &prop_name_len + ); + ZVAL_STRINGL(key, prop_name, prop_name_len); } } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index f04ef2b319..7087a4e4d3 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -13276,12 +13276,12 @@ static int ZEND_FASTCALL ZEND_FE_FETCH_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG if (key_type == HASH_KEY_IS_LONG) { ZVAL_LONG(key, int_key); } else { -//??? const char *class_name, *prop_name; -//??? int prop_name_len; -//??? zend_unmangle_property_name_ex( -//??? str_key, &class_name, &prop_name, &prop_name_len -//??? ); -//??? ZVAL_STRINGL(key, prop_name, prop_name_len, 1); + const char *class_name, *prop_name; + int prop_name_len; + zend_unmangle_property_name_ex( + str_key->val, str_key->len, &class_name, &prop_name, &prop_name_len + ); + ZVAL_STRINGL(key, prop_name, prop_name_len); } }