diff options
author | Andi Gutmans <andi@php.net> | 2000-02-14 20:31:01 +0000 |
---|---|---|
committer | Andi Gutmans <andi@php.net> | 2000-02-14 20:31:01 +0000 |
commit | 7fa17e8e08ca4543a88e9b2467e56eb34c30341c (patch) | |
tree | 43df1f1b5a2611fff21b5dadbe979977393b0231 /Zend/zend_execute.c | |
parent | 95c77887471af4aaa8ecba445b7e69c0e46941e0 (diff) | |
download | php-git-7fa17e8e08ca4543a88e9b2467e56eb34c30341c.tar.gz |
- Put in the infrastructure for the unset() fix. Right now it has the old
behavior but I just need time tomorrow to add the correct behavior.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r-- | Zend/zend_execute.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index e737d43ae2..e4d69c721e 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1246,6 +1246,10 @@ binary_assign_op_addr: { AI_USE_PTR(Ts[opline->result.u.var].var); } NEXT_OPCODE(); + case ZEND_FETCH_UNSET: + zend_fetch_var_address(&opline->result, &opline->op1, &opline->op2, Ts, BP_VAR_R ELS_CC); + AI_USE_PTR(Ts[opline->result.u.var].var); + NEXT_OPCODE(); case ZEND_FETCH_IS: zend_fetch_var_address(&opline->result, &opline->op1, &opline->op2, Ts, BP_VAR_IS ELS_CC); AI_USE_PTR(Ts[opline->result.u.var].var); @@ -1277,6 +1281,13 @@ binary_assign_op_addr: { AI_USE_PTR(Ts[opline->result.u.var].var); } NEXT_OPCODE(); + case ZEND_FETCH_DIM_UNSET: + if (opline->extended_value == ZEND_FETCH_ADD_LOCK) { + PZVAL_LOCK(*Ts[opline->op1.u.var].var.ptr_ptr); + } + zend_fetch_dimension_address(&opline->result, &opline->op1, &opline->op2, Ts, BP_VAR_R ELS_CC); + AI_USE_PTR(Ts[opline->result.u.var].var); + NEXT_OPCODE(); case ZEND_FETCH_OBJ_R: zend_fetch_property_address(&opline->result, &opline->op1, &opline->op2, Ts, BP_VAR_R ELS_CC); AI_USE_PTR(Ts[opline->result.u.var].var); @@ -1300,6 +1311,10 @@ binary_assign_op_addr: { AI_USE_PTR(Ts[opline->result.u.var].var); } NEXT_OPCODE(); + case ZEND_FETCH_OBJ_UNSET: + zend_fetch_property_address(&opline->result, &opline->op1, &opline->op2, Ts, BP_VAR_R ELS_CC); + AI_USE_PTR(Ts[opline->result.u.var].var); + NEXT_OPCODE(); case ZEND_FETCH_DIM_TMP_VAR: zend_fetch_dimension_address_from_tmp_var(&opline->result, &opline->op1, &opline->op2, Ts ELS_CC); AI_USE_PTR(Ts[opline->result.u.var].var); |