zval *expr = GET_OP1_ZVAL_PTR(BP_VAR_R);
zval *result = &EX_T(opline->result.u.var).tmp_var;
- *result = *expr;
- if (!IS_OP1_TMP_FREE()) {
- zendi_zval_copy_ctor(*result);
+ if (opline->extended_value != IS_STRING) {
+ *result = *expr;
+ if (!IS_OP1_TMP_FREE()) {
+ zendi_zval_copy_ctor(*result);
+ }
}
switch (opline->extended_value) {
case IS_NULL:
zval var_copy;
int use_copy;
- zend_make_printable_zval(result, &var_copy, &use_copy);
+ zend_make_printable_zval(expr, &var_copy, &use_copy);
if (use_copy) {
- zval_dtor(result);
*result = var_copy;
+ if (IS_OP1_TMP_FREE()) {
+ FREE_OP1();
+ }
+ } else {
+ *result = *expr;
+ if (!IS_OP1_TMP_FREE()) {
+ zendi_zval_copy_ctor(*result);
+ }
}
break;
}
zval *expr = &opline->op1.u.constant;
zval *result = &EX_T(opline->result.u.var).tmp_var;
- *result = *expr;
- if (!0) {
- zendi_zval_copy_ctor(*result);
+ if (opline->extended_value != IS_STRING) {
+ *result = *expr;
+ if (!0) {
+ zendi_zval_copy_ctor(*result);
+ }
}
switch (opline->extended_value) {
case IS_NULL:
zval var_copy;
int use_copy;
- zend_make_printable_zval(result, &var_copy, &use_copy);
+ zend_make_printable_zval(expr, &var_copy, &use_copy);
if (use_copy) {
- zval_dtor(result);
*result = var_copy;
+ if (0) {
+
+ }
+ } else {
+ *result = *expr;
+ if (!0) {
+ zendi_zval_copy_ctor(*result);
+ }
}
break;
}
zval *expr = _get_zval_ptr_tmp(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
zval *result = &EX_T(opline->result.u.var).tmp_var;
- *result = *expr;
- if (!1) {
- zendi_zval_copy_ctor(*result);
+ if (opline->extended_value != IS_STRING) {
+ *result = *expr;
+ if (!1) {
+ zendi_zval_copy_ctor(*result);
+ }
}
switch (opline->extended_value) {
case IS_NULL:
zval var_copy;
int use_copy;
- zend_make_printable_zval(result, &var_copy, &use_copy);
+ zend_make_printable_zval(expr, &var_copy, &use_copy);
if (use_copy) {
- zval_dtor(result);
*result = var_copy;
+ if (1) {
+ zval_dtor(free_op1.var);
+ }
+ } else {
+ *result = *expr;
+ if (!1) {
+ zendi_zval_copy_ctor(*result);
+ }
}
break;
}
zval *expr = _get_zval_ptr_var(&opline->op1, EX(Ts), &free_op1 TSRMLS_CC);
zval *result = &EX_T(opline->result.u.var).tmp_var;
- *result = *expr;
- if (!0) {
- zendi_zval_copy_ctor(*result);
+ if (opline->extended_value != IS_STRING) {
+ *result = *expr;
+ if (!0) {
+ zendi_zval_copy_ctor(*result);
+ }
}
switch (opline->extended_value) {
case IS_NULL:
zval var_copy;
int use_copy;
- zend_make_printable_zval(result, &var_copy, &use_copy);
+ zend_make_printable_zval(expr, &var_copy, &use_copy);
if (use_copy) {
- zval_dtor(result);
*result = var_copy;
+ if (0) {
+ if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
+ }
+ } else {
+ *result = *expr;
+ if (!0) {
+ zendi_zval_copy_ctor(*result);
+ }
}
break;
}
zval *expr = _get_zval_ptr_cv(&opline->op1, EX(Ts), BP_VAR_R TSRMLS_CC);
zval *result = &EX_T(opline->result.u.var).tmp_var;
- *result = *expr;
- if (!0) {
- zendi_zval_copy_ctor(*result);
+ if (opline->extended_value != IS_STRING) {
+ *result = *expr;
+ if (!0) {
+ zendi_zval_copy_ctor(*result);
+ }
}
switch (opline->extended_value) {
case IS_NULL:
zval var_copy;
int use_copy;
- zend_make_printable_zval(result, &var_copy, &use_copy);
+ zend_make_printable_zval(expr, &var_copy, &use_copy);
if (use_copy) {
- zval_dtor(result);
*result = var_copy;
+ if (0) {
+
+ }
+ } else {
+ *result = *expr;
+ if (!0) {
+ zendi_zval_copy_ctor(*result);
+ }
}
break;
}