]> granicus.if.org Git - php/commitdiff
- Don't destroy object when calling overloaded cast method in
authorAndi Gutmans <andi@php.net>
Sat, 4 Sep 2004 17:03:45 +0000 (17:03 +0000)
committerAndi Gutmans <andi@php.net>
Sat, 4 Sep 2004 17:03:45 +0000 (17:03 +0000)
- zend_parse_parameters()

Zend/zend_API.c

index 5b9c16f3dac6dce3db677bc3f3c2a4275ecd6159..bd1450cff5ce51c7ca01598fa14c0c10798dc12d 100644 (file)
@@ -318,6 +318,7 @@ static char *zend_parse_arg_impl(zval **arg, va_list *va, char **spec TSRMLS_DC)
                                        case IS_OBJECT: {
                                                if (Z_OBJ_HANDLER_PP(arg, cast_object)
                                                        && Z_OBJ_HANDLER_PP(arg, cast_object)(*arg, *arg, IS_STRING, 0 TSRMLS_CC) == SUCCESS) {
+                                                       SEPARATE_ZVAL_IF_NOT_REF(arg);
                                                        *pl = Z_STRLEN_PP(arg);
                                                        *p = Z_STRVAL_PP(arg);
                                                        break;