Browse Source

- Unused results should be marked with EXT_TYPE_UNUSED and not IS_UNUSED

PHP-4.0.5
Andi Gutmans 26 years ago
parent
commit
e1a3604103
  1. 3
      Zend/zend_compile.c
  2. 2
      Zend/zend_execute.h

3
Zend/zend_compile.c

@ -320,7 +320,8 @@ void do_assign_ref(znode *result, znode *lvar, znode *rvar CLS_DC)
opline->result.u.var = get_temporary_variable(CG(active_op_array));
*result = opline->result;
} else {
SET_UNUSED(opline->result);
/* SET_UNUSED(opline->result); */
opline->result.u.EA.type |= EXT_TYPE_UNUSED;
}
opline->op1 = *lvar;
opline->op2 = *rvar;

2
Zend/zend_execute.h

@ -216,7 +216,7 @@ ZEND_API inline void zend_assign_to_variable_reference(znode *result, zval **var
(*variable_ptr_ptr)->is_ref = 1;
}
if (result && (result->op_type != IS_UNUSED)) {
if (result && !(result->u.EA.type & EXT_TYPE_UNUSED)) {
Ts[result->u.var].var.ptr_ptr = variable_ptr_ptr;
SELECTIVE_PZVAL_LOCK(*variable_ptr_ptr, result);
AI_USE_PTR(Ts[result->u.var].var);

Loading…
Cancel
Save