diff options
author | Andrei Zmievski <andrei@php.net> | 2000-12-11 05:36:24 +0000 |
---|---|---|
committer | Andrei Zmievski <andrei@php.net> | 2000-12-11 05:36:24 +0000 |
commit | 753e46657f49dc9d92fa1a3afdba9e5888d3df2a (patch) | |
tree | 409523c795fd28150a5141fbb9ff439616b11b5b | |
parent | 429c4c79223e186d87be1c1805be37abd5bfd2e8 (diff) | |
download | php-git-753e46657f49dc9d92fa1a3afdba9e5888d3df2a.tar.gz |
Make php_array_merge() an API function.
-rw-r--r-- | ext/standard/array.c | 14 | ||||
-rw-r--r-- | ext/standard/php_array.h | 1 |
2 files changed, 8 insertions, 7 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index 2ae6f15b2c..ef7656bd34 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -1796,7 +1796,7 @@ PHP_FUNCTION(array_slice) /* }}} */ -static void php_array_merge_impl(HashTable *dest, HashTable *src, int recursive) +PHPAPI void php_array_merge(HashTable *dest, HashTable *src, int recursive) { zval **src_entry, **dest_entry; @@ -1812,8 +1812,8 @@ static void php_array_merge_impl(HashTable *dest, HashTable *src, int recursive) (void **)&dest_entry) == SUCCESS) { convert_to_array_ex(dest_entry); convert_to_array_ex(src_entry); - php_array_merge_impl(Z_ARRVAL_PP(dest_entry), - Z_ARRVAL_PP(src_entry), recursive); + php_array_merge(Z_ARRVAL_PP(dest_entry), + Z_ARRVAL_PP(src_entry), recursive); } else { (*src_entry)->refcount++; @@ -1833,7 +1833,7 @@ static void php_array_merge_impl(HashTable *dest, HashTable *src, int recursive) } } -static void php_array_merge(INTERNAL_FUNCTION_PARAMETERS, int recursive) +static void php_array_merge_wrapper(INTERNAL_FUNCTION_PARAMETERS, int recursive) { zval ***args = NULL; int argc, @@ -1856,7 +1856,7 @@ static void php_array_merge(INTERNAL_FUNCTION_PARAMETERS, int recursive) for (i=0; i<argc; i++) { convert_to_array_ex(args[i]); - php_array_merge_impl(Z_ARRVAL_P(return_value), Z_ARRVAL_PP(args[i]), recursive); + php_array_merge(Z_ARRVAL_P(return_value), Z_ARRVAL_PP(args[i]), recursive); } efree(args); @@ -1867,7 +1867,7 @@ static void php_array_merge(INTERNAL_FUNCTION_PARAMETERS, int recursive) Merges elements from passed arrays into one array */ PHP_FUNCTION(array_merge) { - php_array_merge(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); + php_array_merge_wrapper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0); } /* }}} */ @@ -1876,7 +1876,7 @@ PHP_FUNCTION(array_merge) Recursively merges elements from passed arrays into one array */ PHP_FUNCTION(array_merge_recursive) { - php_array_merge(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1); + php_array_merge_wrapper(INTERNAL_FUNCTION_PARAM_PASSTHRU, 1); } /* }}} */ diff --git a/ext/standard/php_array.h b/ext/standard/php_array.h index b02515e378..76d48ea330 100644 --- a/ext/standard/php_array.h +++ b/ext/standard/php_array.h @@ -75,6 +75,7 @@ PHP_FUNCTION(array_diff); PHP_FUNCTION(array_sum); HashTable* php_splice(HashTable *, int, int, zval ***, int, HashTable **); +PHPAPI void php_array_merge(HashTable *dest, HashTable *src, int recursive); int multisort_compare(const void *a, const void *b); typedef struct { |