return FAILURE;
} else {
- if (!instanceof_function(Z_OBJCE_PP(parameter), ce TSRMLS_CC)) {
+ if (Z_TYPE_PP(parameter) == IS_OBJECT &&
+ instanceof_function(Z_OBJCE_PP(parameter), ce TSRMLS_CC)) {
+ *object = *parameter;
+ } else {
if (!quiet) {
zend_error(E_WARNING, "%s() expects parameter 1 to be %s, %s given",
get_active_function_name(TSRMLS_C), ce->name,
}
return FAILURE;
- } else {
- *object = *parameter;
}
EG(argument_stack).top_element++;