diff options
author | Dmitry Stogov <dmitry@php.net> | 2005-12-05 08:56:09 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2005-12-05 08:56:09 +0000 |
commit | 9ee0707cfaa13756e5e36309dbcd9d3edbc5ded3 (patch) | |
tree | 3c176adf9e3ced818a35fbfec73ef794396eec68 /Zend/zend_execute_API.c | |
parent | 6abf54a4895fb89b5d1f26ecc9c219ee3ea3d371 (diff) | |
download | php-git-9ee0707cfaa13756e5e36309dbcd9d3edbc5ded3.tar.gz |
Fixed bug #35509 (string constant as array key has different behavior inside object)
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r-- | Zend/zend_execute_API.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 3e0bd367f1..c0d585d835 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -501,17 +501,9 @@ ZEND_API int zval_update_constant(zval **pp, void *arg TSRMLS_DC) *element = new_val; switch (const_value.type) { - case IS_STRING: { - long lval; - double dval; - - if (is_numeric_string(const_value.value.str.val, const_value.value.str.len, &lval, &dval, 0) == IS_LONG) { - zend_hash_update_current_key(p->value.ht, HASH_KEY_IS_LONG, NULL, 0, lval); - } else { - zend_hash_update_current_key(p->value.ht, HASH_KEY_IS_STRING, const_value.value.str.val, const_value.value.str.len+1, 0); - } + case IS_STRING: + zend_symtable_update_current_key(p->value.ht, const_value.value.str.val, const_value.value.str.len+1); break; - } case IS_BOOL: case IS_LONG: zend_hash_update_current_key(p->value.ht, HASH_KEY_IS_LONG, NULL, 0, const_value.value.lval); |