From: Andrei Zmievski Date: Tue, 22 Aug 2000 18:39:29 +0000 (+0000) Subject: @- Updated array_walk() to be able to accept array($obj, 'method') X-Git-Tag: php-4.0.2~126 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d89c5b231c6c819a2c01366a641d132f241663e9;p=php @- Updated array_walk() to be able to accept array($obj, 'method') @ syntax for the walk function. (Andrei) --- 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;