SEPARATE_ZVAL(replace);
if (Z_TYPE_PP(replace) != IS_ARRAY)
convert_to_string_ex(replace);
- if (is_callable_replace && !zend_is_callable(*replace, 0, &callback_name)) {
- php_error(E_WARNING, "%s() requires argument 2, '%s', to be a valid callback",
- get_active_function_name(), callback_name);
+ if (is_callable_replace) {
+ if (!zend_is_callable(*replace, 0, &callback_name)) {
+ php_error(E_WARNING, "%s() requires argument 2, '%s', to be a valid callback",
+ get_active_function_name(), callback_name);
+ efree(callback_name);
+ *return_value = **subject;
+ zval_copy_ctor(return_value);
+ return;
+ }
efree(callback_name);
- *return_value = **subject;
- zval_copy_ctor(return_value);
- return;
}
- if (callback_name)
- efree(callback_name);
SEPARATE_ZVAL(regex);
SEPARATE_ZVAL(subject);