summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2006-05-10 19:36:47 +0000
committerMarcus Boerger <helly@php.net>2006-05-10 19:36:47 +0000
commit848c5c7695ee5655f3e38a74e3cf74aa762f9de9 (patch)
tree556bb8a4bbda47ae9f9dd508cae365a36a24ac69 /Zend/zend_API.c
parent168c0ead9ee8d011be7b7de5ee1001665888c40b (diff)
downloadphp-git-848c5c7695ee5655f3e38a74e3cf74aa762f9de9.tar.gz
- Missing __tostring() conversion snippets
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index e444090c74..c32cbdcd02 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -366,6 +366,17 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp
*p = Z_STRVAL_PP(arg);
break;
}
+ zval_ptr_dtor(arg);
+ }
+ /* Standard PHP objects */
+ if (Z_OBJ_HT_PP(arg) == &std_object_handlers || !Z_OBJ_HT_PP(arg)->cast_object) {
+ SEPARATE_ZVAL_IF_NOT_REF(arg);
+ if (zend_std_cast_object_tostring(*arg, *arg, IS_STRING TSRMLS_CC) == SUCCESS) {
+ *pl = Z_STRLEN_PP(arg);
+ *p = Z_STRVAL_PP(arg);
+ break;
+ }
+ zval_ptr_dtor(arg);
}
}