cvs: ZendEngine2 / zend_execute.c
| From: | Zeev Suraski | Date: | Sun, 03 Aug 2003 08:23:25 +0000 |
| Subject: | cvs: ZendEngine2 / zend_execute.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-1576@lists.php.net to get a copy of this message | ||
zeev Sun Aug 3 04:23:25 2003 EDT
Modified files:
/ZendEngine2 zend_execute.c
Log:
Clean up. extended_value can only contain either ZEND_UNSET_DIM or
ZEND_UNSET_OBJ.
Index: ZendEngine2/zend_execute.c
diff -u ZendEngine2/zend_execute.c:1.514 ZendEngine2/zend_execute.c:1.515
--- ZendEngine2/zend_execute.c:1.514 Sun Aug 3 04:21:08 2003
+++ ZendEngine2/zend_execute.c Sun Aug 3 04:23:25 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute.c,v 1.514 2003/08/03 08:21:08 zeev Exp $ */
+/* $Id: zend_execute.c,v 1.515 2003/08/03 08:23:25 zeev Exp $ */
#define ZEND_INTENSIVE_DEBUGGING 0
@@ -3361,31 +3361,27 @@
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) {