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_compile.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_compile.c')
-rw-r--r-- | Zend/zend_compile.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 9019850c45..4030c8a679 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -576,6 +576,9 @@ void do_end_variable_parse(int type, int arg_offset CLS_DC) opline->opcode += 9; /* 3+3+3 */ opline->extended_value = arg_offset; break; + case BP_VAR_UNSET: + opline->opcode += 12; /* 3+3+3+3 */ + break; } le = le->next; } @@ -1943,11 +1946,11 @@ void do_unset(znode *variable CLS_DC) last_op = &CG(active_op_array)->opcodes[get_next_op_number(CG(active_op_array))-1]; switch (last_op->opcode) { - case ZEND_FETCH_R: + case ZEND_FETCH_UNSET: last_op->opcode = ZEND_UNSET_VAR; break; - case ZEND_FETCH_DIM_R: - case ZEND_FETCH_OBJ_R: + case ZEND_FETCH_DIM_UNSET: + case ZEND_FETCH_OBJ_UNSET: last_op->opcode = ZEND_UNSET_DIM_OBJ; break; |