From d89c5b231c6c819a2c01366a641d132f241663e9 Mon Sep 17 00:00:00 2001 From: Andrei Zmievski Date: Tue, 22 Aug 2000 18:39:29 +0000 Subject: [PATCH] @- Updated array_walk() to be able to accept array($obj, 'method') @ syntax for the walk function. (Andrei) --- ext/standard/array.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ext/standard/array.c b/ext/standard/array.c index 844b1f4ea3..f6784cfe86 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -1015,11 +1015,18 @@ PHP_FUNCTION(array_walk) { } 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; -- 2.50.1