if (do_end_vparse) {
if (returns_reference && !zend_is_function_or_method_call(expr)) {
- zend_do_end_variable_parse(expr, BP_VAR_W, 0 TSRMLS_CC);
+ zend_do_end_variable_parse(expr, BP_VAR_W, 1 TSRMLS_CC);
} else {
zend_do_end_variable_parse(expr, BP_VAR_R, 0 TSRMLS_CC);
}
if (is_variable) {
if ((CG(active_op_array)->fn_flags & ZEND_ACC_RETURN_REFERENCE) && !zend_is_function_or_method_call(value)) {
- zend_do_end_variable_parse(value, BP_VAR_W, 0 TSRMLS_CC);
+ zend_do_end_variable_parse(value, BP_VAR_W, 1 TSRMLS_CC);
} else {
zend_do_end_variable_parse(value, BP_VAR_R, 0 TSRMLS_CC);
}
//??? if (opline->extended_value == ZEND_RETURNS_FUNCTION &&
//??? EX_T(opline->op1.var).var.fcall_returned_reference) {
//??? } else if (EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) {
-//??? zend_error(E_NOTICE, "Only variable references should be returned by reference");
+ zend_error(E_NOTICE, "Only variable references should be returned by reference");
//??? if (EX(return_value)) {
//??? ZVAL_DUP(EX(return_value), retval_ptr);
//??? }
//??? if (opline->extended_value == ZEND_RETURNS_FUNCTION &&
//??? EX_T(opline->op1.var).var.fcall_returned_reference) {
//??? } else if (EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) {
-//??? zend_error(E_NOTICE, "Only variable references should be returned by reference");
+ zend_error(E_NOTICE, "Only variable references should be returned by reference");
//??? if (EX(return_value)) {
//??? ZVAL_DUP(EX(return_value), retval_ptr);
//??? }
//??? if (opline->extended_value == ZEND_RETURNS_FUNCTION &&
//??? EX_T(opline->op1.var).var.fcall_returned_reference) {
//??? } else if (EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) {
-//??? zend_error(E_NOTICE, "Only variable references should be returned by reference");
+ zend_error(E_NOTICE, "Only variable references should be returned by reference");
//??? if (EX(return_value)) {
//??? ZVAL_DUP(EX(return_value), retval_ptr);
//??? }
//??? if (opline->extended_value == ZEND_RETURNS_FUNCTION &&
//??? EX_T(opline->op1.var).var.fcall_returned_reference) {
//??? } else if (EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) {
-//??? zend_error(E_NOTICE, "Only variable references should be returned by reference");
+ zend_error(E_NOTICE, "Only variable references should be returned by reference");
//??? if (EX(return_value)) {
//??? ZVAL_DUP(EX(return_value), retval_ptr);
//??? }
//??? if (opline->extended_value == ZEND_RETURNS_FUNCTION &&
//??? EX_T(opline->op1.var).var.fcall_returned_reference) {
//??? } else if (EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) {
-//??? zend_error(E_NOTICE, "Only variable references should be returned by reference");
+ zend_error(E_NOTICE, "Only variable references should be returned by reference");
//??? if (EX(return_value)) {
//??? ZVAL_DUP(EX(return_value), retval_ptr);
//??? }