summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-12-05 08:56:09 +0000
committerDmitry Stogov <dmitry@php.net>2005-12-05 08:56:09 +0000
commit9ee0707cfaa13756e5e36309dbcd9d3edbc5ded3 (patch)
tree3c176adf9e3ced818a35fbfec73ef794396eec68 /Zend/zend_execute_API.c
parent6abf54a4895fb89b5d1f26ecc9c219ee3ea3d371 (diff)
downloadphp-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.c12
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);