diff options
author | Marcus Boerger <helly@php.net> | 2006-05-10 21:13:22 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2006-05-10 21:13:22 +0000 |
commit | d76c516176ac65b45f2a424c2525c2d978e120ec (patch) | |
tree | ed2b61837fe93b0c7fa744263f4fb555cdbebcd9 /Zend/zend.c | |
parent | f16bdce2844bc4523d6fb804b1102f429da1a4e8 (diff) | |
download | php-git-d76c516176ac65b45f2a424c2525c2d978e120ec.tar.gz |
- Missing __ToString() sync
Diffstat (limited to 'Zend/zend.c')
-rw-r--r-- | Zend/zend.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index 076d7154c0..b1a94ce2ab 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -229,7 +229,6 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop if (zend_std_cast_object_tostring(expr, expr_copy, IS_STRING TSRMLS_CC) == SUCCESS) { break; } - zend_error(E_NOTICE, "Object of class %s could not be converted to string", Z_OBJCE_P(expr)->name); } else { if(Z_OBJ_HANDLER_P(expr, get)) { zval *z = Z_OBJ_HANDLER_P(expr, get)(expr TSRMLS_CC); @@ -248,15 +247,11 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop zval_ptr_dtor(&z); } } - if (EG(exception)) { - zval_dtor(expr_copy); - expr_copy->value.str.len = 0; - expr_copy->value.str.val = STR_EMPTY_ALLOC(); - break; - } + zend_error(EG(exception) ? E_ERROR : E_RECOVERABLE_ERROR, "Object of class %s could not be converted to string", Z_OBJCE_P(expr)->name); + zval_dtor(expr_copy); + expr_copy->value.str.len = 0; + expr_copy->value.str.val = STR_EMPTY_ALLOC(); } - expr_copy->value.str.val = (char *) emalloc(sizeof("Object id #")-1 + MAX_LENGTH_OF_LONG); - expr_copy->value.str.len = sprintf(expr_copy->value.str.val, "Object id #%ld", (long)expr->value.obj.handle); break; case IS_DOUBLE: *expr_copy = *expr; |