summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2003-08-01 17:51:56 +0000
committerWez Furlong <wez@php.net>2003-08-01 17:51:56 +0000
commit5c4de2664c16da98ee0818e5cf2240f8e2aff787 (patch)
treec97847525ccd9585ed2963e76efb3de1f4fdb9f0 /Zend/zend_API.c
parent3253746c26c92b1fb3d4a5778073c8691eb8a81d (diff)
downloadphp-git-5c4de2664c16da98ee0818e5cf2240f8e2aff787.tar.gz
better fix...
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index e794cacdcc..f70152a8b7 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -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;