From 4fd84823f66b117242eeeb35eff9a76a6b17b335 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 25 Feb 2014 17:56:03 +0400 Subject: [PATCH] Fixed foreach() over object properties --- Zend/zend_vm_def.h | 12 ++++++------ Zend/zend_vm_execute.h | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) 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); } } -- 2.50.1