]> granicus.if.org Git - php/commitdiff
better fix...
authorWez Furlong <wez@php.net>
Fri, 1 Aug 2003 17:51:56 +0000 (17:51 +0000)
committerWez Furlong <wez@php.net>
Fri, 1 Aug 2003 17:51:56 +0000 (17:51 +0000)
Zend/zend_API.c

index e794cacdcc0c5eb70a037bd6f44de263837a3766..f70152a8b77a774941ef6869d349f728ffc0dec3 100644 (file)
@@ -393,14 +393,17 @@ static char *zend_parse_arg_impl(zval **arg, va_list *va, char **spec TSRMLS_DC)
                        {
                                zval **p = va_arg(*va, zval **);
                                zend_class_entry *ce = va_arg(*va, zend_class_entry *);
-                               if (!instanceof_function(Z_OBJCE_PP(arg), ce TSRMLS_CC)) {
+
+                               if (Z_TYPE_PP(arg) == IS_OBJECT &&
+                                               instanceof_function(Z_OBJCE_PP(arg), ce TSRMLS_CC)) {
+                                       *p = *arg;
+                               } else {
                                        if (Z_TYPE_PP(arg) == IS_NULL && return_null) {
                                                *p = NULL;
                                        } else {
                                                return ce->name;
                                        }
-                               } else
-                                       *p = *arg;
+                               }
                        }
                        break;