Commit:    fc7b054c2d3aa0855c69b50dd7d386d558d6317e
Author:    Gustavo Lopes <glo...@nebm.ist.utl.pt>         Wed, 23 Jan 2013 
13:24:50 +0100
Parents:   95346c017c55e44a3e3d19945902a0275d3fafe4 
b8b3bb08b22a28041f5c02b371a88f231ec510de
Branches:  PHP-5.5 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=fc7b054c2d3aa0855c69b50dd7d386d558d6317e

Log:
Merge branch 'PHP-5.4' into PHP-5.5

* PHP-5.4:
  Fix bug #64023 (__toString() & SplFileInfo)

Bugs:
https://bugs.php.net/64023

Changed paths:
  MM  Zend/zend_vm_def.h
  MM  Zend/zend_vm_execute.h


Diff:
diff --cc Zend/zend_vm_execute.h
index ab69ee2,97e5a8e..25ac1ea
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@@ -7414,24 -6434,12 +7402,12 @@@ static int ZEND_FASTCALL  ZEND_ECHO_SPE
        zval *z;
  
        SAVE_OPLINE();
 -      z = _get_zval_ptr_tmp(opline->op1.var, EX_Ts(), &free_op1 TSRMLS_CC);
 +      z = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 
TSRMLS_CC);
  
-       if (IS_TMP_VAR != IS_CONST &&
-           UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) &&
-           Z_OBJ_HT_P(z)->get_method != NULL) {
-           if (IS_TMP_VAR == IS_TMP_VAR) {
-               INIT_PZVAL(z);
-           }
-               if (zend_std_cast_object_tostring(z, &z_copy, IS_STRING 
TSRMLS_CC) == SUCCESS) {
-                       zend_print_variable(&z_copy);
-                       zval_dtor(&z_copy);
-               } else {
-                       zend_print_variable(z);
-               }
-       } else {
-               zend_print_variable(z);
+       if (IS_TMP_VAR == IS_TMP_VAR && Z_TYPE_P(z) == IS_OBJECT) {
+               INIT_PZVAL(z);
        }
+       zend_print_variable(z);
  
        zval_dtor(free_op1.var);
        CHECK_EXCEPTION();
@@@ -12625,24 -10740,12 +12601,12 @@@ static int ZEND_FASTCALL  ZEND_ECHO_SPE
        zval *z;
  
        SAVE_OPLINE();
 -      z = _get_zval_ptr_var(opline->op1.var, EX_Ts(), &free_op1 TSRMLS_CC);
 +      z = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 
TSRMLS_CC);
  
-       if (IS_VAR != IS_CONST &&
-           UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) &&
-           Z_OBJ_HT_P(z)->get_method != NULL) {
-           if (IS_VAR == IS_TMP_VAR) {
-               INIT_PZVAL(z);
-           }
-               if (zend_std_cast_object_tostring(z, &z_copy, IS_STRING 
TSRMLS_CC) == SUCCESS) {
-                       zend_print_variable(&z_copy);
-                       zval_dtor(&z_copy);
-               } else {
-                       zend_print_variable(z);
-               }
-       } else {
-               zend_print_variable(z);
+       if (IS_VAR == IS_TMP_VAR && Z_TYPE_P(z) == IS_OBJECT) {
+               INIT_PZVAL(z);
        }
+       zend_print_variable(z);
  
        if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
        CHECK_EXCEPTION();
@@@ -30217,24 -26708,12 +30181,12 @@@ static int ZEND_FASTCALL  ZEND_ECHO_SPE
        zval *z;
  
        SAVE_OPLINE();
 -      z = _get_zval_ptr_cv_BP_VAR_R(EX_CVs(), opline->op1.var TSRMLS_CC);
 +      z = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
  
-       if (IS_CV != IS_CONST &&
-           UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) &&
-           Z_OBJ_HT_P(z)->get_method != NULL) {
-           if (IS_CV == IS_TMP_VAR) {
-               INIT_PZVAL(z);
-           }
-               if (zend_std_cast_object_tostring(z, &z_copy, IS_STRING 
TSRMLS_CC) == SUCCESS) {
-                       zend_print_variable(&z_copy);
-                       zval_dtor(&z_copy);
-               } else {
-                       zend_print_variable(z);
-               }
-       } else {
-               zend_print_variable(z);
+       if (IS_CV == IS_TMP_VAR && Z_TYPE_P(z) == IS_OBJECT) {
+               INIT_PZVAL(z);
        }
+       zend_print_variable(z);
  
        CHECK_EXCEPTION();
        ZEND_VM_NEXT_OPCODE();


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to