From 738c36932a99c036df098f14e3c2fbe9baed74b9 Mon Sep 17 00:00:00 2001 From: Andrei Zmievski Date: Fri, 15 Oct 1999 19:25:27 +0000 Subject: [PATCH] @- Fixed shuffle() so that it no longer breaks on Solaris. (Andrei) --- ext/standard/basic_functions.c | 19 ++++++++++++++++++- ext/standard/basic_functions.h | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 978512bd8b..3c4cd3122c 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -335,6 +335,7 @@ function_entry basic_functions[] = { PHP_FE(array_values, NULL) PHP_FE(array_count_values, NULL) PHP_FE(array_reverse, NULL) + PHP_FE(array_map, NULL) PHP_FE(connection_aborted, NULL) PHP_FE(connection_timeout, NULL) @@ -2457,7 +2458,7 @@ PHP_FUNCTION(shuffle) php_error(E_WARNING, "Wrong datatype in shuffle() call"); return; } - if (zend_hash_sort((*array)->value.ht, qsort, array_data_shuffle, 1) == FAILURE) { + if (zend_hash_sort((*array)->value.ht, mergesort, array_data_shuffle, 1) == FAILURE) { return; } RETURN_TRUE; @@ -3141,6 +3142,22 @@ PHP_FUNCTION(array_reverse) } /* }}} */ +/* {{{ proto array array_map(array input, string value_exp [, string key_exp] */ +PHP_FUNCTION(array_map) +{ + zval **input; + zval **value_exp; + zval **key_exp = NULL; + int argc; + + argc = ARG_COUNT(ht); + + if (argc < 2 || argc > 3 || getParametersEx(ht, &input, &value_exp, &key_exp) == FAILURE) { + WRONG_PARAM_COUNT; + } +} + + /* * Local variables: * tab-width: 4 diff --git a/ext/standard/basic_functions.h b/ext/standard/basic_functions.h index 3b266a99e0..78a499d2fb 100644 --- a/ext/standard/basic_functions.h +++ b/ext/standard/basic_functions.h @@ -137,6 +137,7 @@ PHP_FUNCTION(array_keys); PHP_FUNCTION(array_values); PHP_FUNCTION(array_count_values); PHP_FUNCTION(array_reverse); +PHP_FUNCTION(array_map); #if HAVE_PUTENV typedef struct { -- 2.40.0