diff options
| author | Wez Furlong <wez@php.net> | 2003-08-01 17:51:56 +0000 |
|---|---|---|
| committer | Wez Furlong <wez@php.net> | 2003-08-01 17:51:56 +0000 |
| commit | 5c4de2664c16da98ee0818e5cf2240f8e2aff787 (patch) | |
| tree | c97847525ccd9585ed2963e76efb3de1f4fdb9f0 /Zend/zend_API.c | |
| parent | 3253746c26c92b1fb3d4a5778073c8691eb8a81d (diff) | |
| download | php-git-5c4de2664c16da98ee0818e5cf2240f8e2aff787.tar.gz | |
better fix...
Diffstat (limited to 'Zend/zend_API.c')
| -rw-r--r-- | Zend/zend_API.c | 9 |
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; |
