]> granicus.if.org Git - php/commitdiff
Convert objects to string if string is required by newer parameter parsing
authorMarcus Boerger <helly@php.net>
Thu, 27 Nov 2003 19:24:38 +0000 (19:24 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 27 Nov 2003 19:24:38 +0000 (19:24 +0000)
since we do this for older parameter parsing does so too.

Zend/zend_API.c

index 7352bea999ef434b5ea3bef673f11b4be6259326..0228b9ee78c07da140e33cf15f1e0effb571604d 100644 (file)
@@ -316,8 +316,15 @@ static char *zend_parse_arg_impl(zval **arg, va_list *va, char **spec TSRMLS_DC)
                                                *pl = Z_STRLEN_PP(arg);
                                                break;
 
+                                       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) {
+                                                       *pl = Z_STRLEN_PP(arg);
+                                                       *p = Z_STRVAL_PP(arg);
+                                                       break;
+                                               }
+                                       }
+                                               
                                        case IS_ARRAY:
-                                       case IS_OBJECT:
                                        case IS_RESOURCE:
                                        default:
                                                return "string";