1
0
mirror of https://github.com/php/php-src.git synced 2026-04-20 14:31:06 +02:00

Clean up. extended_value can only contain either ZEND_UNSET_DIM or

ZEND_UNSET_OBJ.
This commit is contained in:
Zeev Suraski
2003-08-03 08:23:25 +00:00
parent 9d7122fb53
commit 8b4bd4a8ec

View File

@@ -3361,31 +3361,27 @@ int zend_unset_dim_obj_handler(ZEND_OPCODE_HANDLER_ARGS)
if (container) {
HashTable *ht;
switch (EX(opline)->extended_value) {
case ZEND_UNSET_DIM:
switch (Z_TYPE_PP(container)) {
case IS_ARRAY:
ht = Z_ARRVAL_PP(container);
break;
case IS_OBJECT:
ht = NULL;
if (!Z_OBJ_HT_P(*container)->unset_dimension) {
zend_error(E_ERROR, "Cannot use object as array");
}
Z_OBJ_HT_P(*container)->unset_dimension(*container, offset TSRMLS_CC);
break;
default:
ht = NULL;
break;
}
break;
case ZEND_UNSET_OBJ:
if (Z_TYPE_PP(container) == IS_OBJECT) {
Z_OBJ_HT_P(*container)->unset_property(*container, offset TSRMLS_CC);
}
default:
ht = NULL;
break;
if (EX(opline)->extended_value == ZEND_UNSET_DIM) {
switch (Z_TYPE_PP(container)) {
case IS_ARRAY:
ht = Z_ARRVAL_PP(container);
break;
case IS_OBJECT:
ht = NULL;
if (!Z_OBJ_HT_P(*container)->unset_dimension) {
zend_error(E_ERROR, "Cannot use object as array");
}
Z_OBJ_HT_P(*container)->unset_dimension(*container, offset TSRMLS_CC);
break;
default:
ht = NULL;
break;
}
} else { /* ZEND_UNSET_OBJ */
ht = NULL;
if (Z_TYPE_PP(container) == IS_OBJECT) {
Z_OBJ_HT_P(*container)->unset_property(*container, offset TSRMLS_CC);
}
}
if (ht) {
switch (offset->type) {