}
target_hash = HASH_OF(*array);
if (!target_hash) {
- php_error(E_WARNING, "Wrong datatype in array_walk() call");
+ php_error(E_WARNING, "Wrong datatype in %s() call",
+ get_active_function_name());
+ BG(array_walk_func_name) = old_walk_func_name;
+ RETURN_FALSE;
+ }
+ if (Z_TYPE_PP(BG(array_walk_func_name)) != IS_ARRAY &&
+ Z_TYPE_PP(BG(array_walk_func_name)) != IS_STRING) {
+ php_error(E_WARNING, "Wrong syntax for function name in %s() call",
+ get_active_function_name());
BG(array_walk_func_name) = old_walk_func_name;
RETURN_FALSE;
}
- convert_to_string_ex(BG(array_walk_func_name));
php_array_walk(target_hash, userdata);
BG(array_walk_func_name) = old_walk_func_name;
RETURN_TRUE;