}
*/
zend_fetch_dimension_address(&EX(opline)->result, &EX(opline)->op1, &EX(opline)->op2, EX(Ts), BP_VAR_R TSRMLS_CC);
- if (EX_T(EX(opline)->result.u.var).EA.type == IS_STRING_OFFSET) {
- zend_error(E_ERROR, "Cannot unset string offsets");
- } else {
- if (Z_TYPE_PP(EX_T(EX(opline)->result.u.var).var.ptr_ptr) != IS_ARRAY) {
- zend_error(E_ERROR, "Illegal scalar dereference");
- }
-
- PZVAL_UNLOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
- if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
- SEPARATE_ZVAL_IF_NOT_REF(EX_T(EX(opline)->result.u.var).var.ptr_ptr);
- }
- PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
+ PZVAL_UNLOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
+ if (EX_T(EX(opline)->result.u.var).var.ptr_ptr != &EG(uninitialized_zval_ptr)) {
+ SEPARATE_ZVAL_IF_NOT_REF(EX_T(EX(opline)->result.u.var).var.ptr_ptr);
}
+ PZVAL_LOCK(*EX_T(EX(opline)->result.u.var).var.ptr_ptr);
NEXT_OPCODE();
}