cvs: php-src /ext/standard array.c /ext/standard/tests/array array_key_exists.phpt array_key_exists_object1.phpt array_key_exists_object2.phpt
array_key_exists_variation2.phpt array_merge.phpt array_unique_variation1.phpt array_walk.phpt array_walk_recursive1.phpt
array_walk_recursive_variation1.phpt array_walk_variation1.phpt bug40191.phpt natcasesort_variation1.phpt

From: Date: Fri, 29 Aug 2008 02:48:28 +0000
Subject: cvs: php-src /ext/standard array.c /ext/standard/tests/array array_key_exists.phpt array_key_exists_object1.phpt array_key_exists_object2.phpt
array_key_exists_variation2.phpt array_merge.phpt array_unique_variation1.phpt array_walk.phpt array_walk_recursive1.phpt
array_walk_recursive_variation1.phpt array_walk_variation1.phpt bug40191.phpt natcasesort_variation1.phpt
Groups: php.cvs php.doc 
Request: Send a blank email to phpdoc+get-969379344@lists.php.net to get a copy of this message
felipe Fri Aug 29 02:48:28 2008 UTC Modified files: /php-src/ext/standard array.c /php-src/ext/standard/tests/array array_key_exists.phpt array_key_exists_object1.phpt array_key_exists_object2.phpt array_key_exists_variation2.phpt array_merge.phpt array_unique_variation1.phpt array_walk.phpt array_walk_recursive1.phpt array_walk_recursive_variation1.phpt array_walk_variation1.phpt bug40191.phpt natcasesort_variation1.phpt Log: - Removed the undocumented object support in the leftover array functions [DOC] (natcasesort, natsort, array_walk, array_walk_recursive, array_unique, array_key_exists) - Changed HASH_OF() to Z_ARRVAL_P() - Fixed bug #45937 (array_walk and array_walk_recursive can alter private/protected object variable)

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.462&r2=1.463&diff_format=u Index: php-src/ext/standard/array.c diff -u php-src/ext/standard/array.c:1.462 php-src/ext/standard/array.c:1.463 --- php-src/ext/standard/array.c:1.462 Wed Aug 20 20:35:16 2008 +++ php-src/ext/standard/array.c Fri Aug 29 02:48:28 2008 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.462 2008/08/20 20:35:16 lstrojny Exp $ */ +/* $Id: array.c,v 1.463 2008/08/29 02:48:28 felipe Exp $ */ #include "php.h" #include "php_ini.h" @@ -237,16 +237,14 @@ { zval *array; long sort_type = PHP_SORT_REGULAR; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) { RETURN_FALSE; } - target_hash = HASH_OF(array); php_set_compare_func(sort_type TSRMLS_CC); - if (zend_hash_sort(target_hash, zend_qsort, php_array_reverse_key_compare, 0 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_reverse_key_compare, 0 TSRMLS_CC) == FAILURE) { RETURN_FALSE; } RETURN_TRUE; @@ -259,16 +257,14 @@ { zval *array; long sort_type = PHP_SORT_REGULAR; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) { RETURN_FALSE; } - target_hash = HASH_OF(array); php_set_compare_func(sort_type TSRMLS_CC); - if (zend_hash_sort(target_hash, zend_qsort, php_array_key_compare, 0 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_key_compare, 0 TSRMLS_CC) == FAILURE) { RETURN_FALSE; } RETURN_TRUE; @@ -466,24 +462,17 @@ static void php_natsort(INTERNAL_FUNCTION_PARAMETERS, int fold_case) /* {{{ */ { zval *array; - HashTable *target_hash; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &array) == FAILURE) { - return; - } - - target_hash = HASH_OF(array); - if (!target_hash) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument should be an array"); + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { return; } if (fold_case) { - if (zend_hash_sort(target_hash, zend_qsort, php_array_natural_case_compare, 0 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_natural_case_compare, 0 TSRMLS_CC) == FAILURE) { return; } } else { - if (zend_hash_sort(target_hash, zend_qsort, php_array_natural_compare, 0 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_natural_compare, 0 TSRMLS_CC) == FAILURE) { return; } } @@ -514,16 +503,14 @@ { zval *array; long sort_type = PHP_SORT_REGULAR; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) { RETURN_FALSE; } - target_hash = HASH_OF(array); php_set_compare_func(sort_type TSRMLS_CC); - if (zend_hash_sort(target_hash, zend_qsort, php_array_data_compare, 0 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_data_compare, 0 TSRMLS_CC) == FAILURE) { RETURN_FALSE; } RETURN_TRUE; @@ -536,16 +523,14 @@ { zval *array; long sort_type = PHP_SORT_REGULAR; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) { RETURN_FALSE; } - target_hash = HASH_OF(array); php_set_compare_func(sort_type TSRMLS_CC); - if (zend_hash_sort(target_hash, zend_qsort, php_array_reverse_data_compare, 0 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_reverse_data_compare, 0 TSRMLS_CC) == FAILURE) { RETURN_FALSE; } RETURN_TRUE; @@ -558,16 +543,14 @@ { zval *array; long sort_type = PHP_SORT_REGULAR; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) { RETURN_FALSE; } - target_hash = HASH_OF(array); php_set_compare_func(sort_type TSRMLS_CC); - if (zend_hash_sort(target_hash, zend_qsort, php_array_data_compare, 1 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_data_compare, 1 TSRMLS_CC) == FAILURE) { RETURN_FALSE; } RETURN_TRUE; @@ -580,16 +563,13 @@ { zval *array; long sort_type = PHP_SORT_REGULAR; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", &array, &sort_type) == FAILURE) { RETURN_FALSE; } - - target_hash = HASH_OF(array); php_set_compare_func(sort_type TSRMLS_CC); - if (zend_hash_sort(target_hash, zend_qsort, php_array_reverse_data_compare, 1 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_reverse_data_compare, 1 TSRMLS_CC) == FAILURE) { RETURN_FALSE; } RETURN_TRUE; @@ -660,7 +640,6 @@ PHP_FUNCTION(usort) { zval *array; - HashTable *target_hash; PHP_ARRAY_CMP_FUNC_VARS; PHP_ARRAY_CMP_FUNC_BACKUP(); @@ -670,9 +649,7 @@ return; } - target_hash = HASH_OF(array); - - if (zend_hash_sort(target_hash, zend_qsort, php_array_user_compare, 1 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_compare, 1 TSRMLS_CC) == FAILURE) { PHP_ARRAY_CMP_FUNC_RESTORE(); RETURN_FALSE; } @@ -686,7 +663,6 @@ PHP_FUNCTION(uasort) { zval *array; - HashTable *target_hash; PHP_ARRAY_CMP_FUNC_VARS; PHP_ARRAY_CMP_FUNC_BACKUP(); @@ -696,9 +672,7 @@ return; } - target_hash = HASH_OF(array); - - if (zend_hash_sort(target_hash, zend_qsort, php_array_user_compare, 0 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_compare, 0 TSRMLS_CC) == FAILURE) { PHP_ARRAY_CMP_FUNC_RESTORE(); RETURN_FALSE; } @@ -773,7 +747,6 @@ PHP_FUNCTION(uksort) { zval *array; - HashTable *target_hash; PHP_ARRAY_CMP_FUNC_VARS; PHP_ARRAY_CMP_FUNC_BACKUP(); @@ -783,9 +756,7 @@ return; } - target_hash = HASH_OF(array); - - if (zend_hash_sort(target_hash, zend_qsort, php_array_user_key_compare, 0 TSRMLS_CC) == FAILURE) { + if (zend_hash_sort(Z_ARRVAL_P(array), zend_qsort, php_array_user_key_compare, 0 TSRMLS_CC) == FAILURE) { PHP_ARRAY_CMP_FUNC_RESTORE(); RETURN_FALSE; @@ -801,17 +772,15 @@ PHP_FUNCTION(end) { zval *array, **entry; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { return; } - target_hash = HASH_OF(array); - zend_hash_internal_pointer_end(target_hash); + zend_hash_internal_pointer_end(Z_ARRVAL_P(array)); if (return_value_used) { - if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) { + if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) { RETURN_FALSE; } @@ -825,17 +794,15 @@ PHP_FUNCTION(prev) { zval *array, **entry; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { return; } - target_hash = HASH_OF(array); - zend_hash_move_backwards(target_hash); + zend_hash_move_backwards(Z_ARRVAL_P(array)); if (return_value_used) { - if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) { + if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) { RETURN_FALSE; } @@ -849,17 +816,15 @@ PHP_FUNCTION(next) { zval *array, **entry; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { return; } - target_hash = HASH_OF(array); - zend_hash_move_forward(target_hash); + zend_hash_move_forward(Z_ARRVAL_P(array)); if (return_value_used) { - if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) { + if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) { RETURN_FALSE; } @@ -873,17 +838,15 @@ PHP_FUNCTION(reset) { zval *array, **entry; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { return; } - target_hash = HASH_OF(array); - zend_hash_internal_pointer_reset(target_hash); + zend_hash_internal_pointer_reset(Z_ARRVAL_P(array)); if (return_value_used) { - if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) { + if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) { RETURN_FALSE; } @@ -897,14 +860,12 @@ PHP_FUNCTION(current) { zval *array, **entry; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { return; } - target_hash = HASH_OF(array); - if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) { + if (zend_hash_get_current_data(Z_ARRVAL_P(array), (void **) &entry) == FAILURE) { RETURN_FALSE; } RETURN_ZVAL(*entry, 1, 0); @@ -919,14 +880,12 @@ zstr string_key; uint string_length; ulong num_key; - HashTable *target_hash; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { return; } - target_hash = HASH_OF(array); - switch (zend_hash_get_current_key_ex(target_hash, &string_key, &string_length, &num_key, 0, NULL)) { + switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(array), &string_key, &string_length, &num_key, 0, NULL)) { case HASH_KEY_IS_STRING: RETVAL_STRINGL(string_key.s, string_length - 1, 1); break; @@ -1073,7 +1032,7 @@ zend_fcall_info_cache orig_array_walk_fci_cache; SEPARATE_ZVAL_IF_NOT_REF(args[0]); - thash = HASH_OF(*(args[0])); + thash = Z_ARRVAL_PP(args[0]); if (thash->nApplyCount > 1) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "recursion detected"); return 0; @@ -1141,26 +1100,17 @@ *userdata = NULL; zend_fcall_info orig_array_walk_fci; zend_fcall_info_cache orig_array_walk_fci_cache; - HashTable *target_hash; orig_array_walk_fci = BG(array_walk_fci); orig_array_walk_fci_cache = BG(array_walk_fci_cache); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zf|z/", &array, &BG(array_walk_fci), &BG(array_walk_fci_cache), &userdata) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "af|z/", &array, &BG(array_walk_fci), &BG(array_walk_fci_cache), &userdata) == FAILURE) { BG(array_walk_fci) = orig_array_walk_fci; BG(array_walk_fci_cache) = orig_array_walk_fci_cache; return; } - target_hash = HASH_OF(array); - if (!target_hash) { - BG(array_walk_fci) = orig_array_walk_fci; - BG(array_walk_fci_cache) = orig_array_walk_fci_cache; - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument should be an array"); - RETURN_FALSE; - } - - php_array_walk(target_hash, userdata ? &userdata : NULL, 0 TSRMLS_CC); + php_array_walk(Z_ARRVAL_P(array), userdata ? &userdata : NULL, 0 TSRMLS_CC); BG(array_walk_fci) = orig_array_walk_fci; BG(array_walk_fci_cache) = orig_array_walk_fci_cache; RETURN_TRUE; @@ -1175,26 +1125,17 @@ *userdata = NULL; zend_fcall_info orig_array_walk_fci; zend_fcall_info_cache orig_array_walk_fci_cache; - HashTable *target_hash; orig_array_walk_fci = BG(array_walk_fci); orig_array_walk_fci_cache = BG(array_walk_fci_cache); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zf|z/", &array, &BG(array_walk_fci), &BG(array_walk_fci_cache), &userdata) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "af|z/", &array, &BG(array_walk_fci), &BG(array_walk_fci_cache), &userdata) == FAILURE) { BG(array_walk_fci) = orig_array_walk_fci; BG(array_walk_fci_cache) = orig_array_walk_fci_cache; return; } - target_hash = HASH_OF(array); - if (!target_hash) { - BG(array_walk_fci) = orig_array_walk_fci; - BG(array_walk_fci_cache) = orig_array_walk_fci_cache; - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument should be an array"); - RETURN_FALSE; - } - - php_array_walk(HASH_OF(array), userdata ? &userdata : NULL, 1 TSRMLS_CC); + php_array_walk(Z_ARRVAL_P(array), userdata ? &userdata : NULL, 1 TSRMLS_CC); BG(array_walk_fci) = orig_array_walk_fci; BG(array_walk_fci_cache) = orig_array_walk_fci_cache; RETURN_TRUE; @@ -1211,7 +1152,6 @@ *array, /* array to check in */ **entry, /* pointer to array entry */ res; /* comparison result */ - HashTable *target_hash; /* array hashtable */ HashPosition pos; /* hash iterator */ zend_bool strict = 0; /* strict comparison or not */ ulong num_key; @@ -1227,16 +1167,15 @@ is_equal_func = is_identical_function; } - target_hash = HASH_OF(array); - zend_hash_internal_pointer_reset_ex(target_hash, &pos); - while (zend_hash_get_current_data_ex(target_hash, (void **)&entry, &pos) == SUCCESS) { + zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(array), &pos); + while (zend_hash_get_current_data_ex(Z_ARRVAL_P(array), (void **)&entry, &pos) == SUCCESS) { is_equal_func(&res, value, *entry TSRMLS_CC); if (Z_LVAL(res)) { if (behavior == 0) { RETURN_TRUE; } else { /* Return current key */ - switch (zend_hash_get_current_key_ex(target_hash, &string_key, &str_key_len, &num_key, 0, &pos)) { + switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(array), &string_key, &str_key_len, &num_key, 0, &pos)) { case HASH_KEY_IS_STRING: RETURN_STRINGL(string_key.s, str_key_len - 1, 1); break; @@ -1249,7 +1188,7 @@ } } } - zend_hash_move_forward_ex(target_hash, &pos); + zend_hash_move_forward_ex(Z_ARRVAL_P(array), &pos); } RETURN_FALSE; @@ -2413,7 +2352,7 @@ utype = IS_UNICODE; ukey: if (recursive && zend_u_hash_find(dest, utype, string_key, string_key_len, (void **)&dest_entry) == SUCCESS) { - HashTable *thash = HASH_OF(*dest_entry); + HashTable *thash = Z_TYPE_PP(dest_entry) == IS_ARRAY ? Z_ARRVAL_PP(dest_entry) : NULL; if ((thash && thash->nApplyCount > 1) || (*src_entry == *dest_entry && Z_ISREF_PP(dest_entry) && (Z_REFCOUNT_PP(dest_entry) % 2))) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "recursion detected"); @@ -2531,7 +2470,7 @@ static void php_array_merge_or_replace_wrapper(INTERNAL_FUNCTION_PARAMETERS, int recursive, int replace) /* {{{ */ { zval ***args = NULL; - int argc, i, params_ok = 1, init_size = 0; + int argc, i, init_size = 0; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "+", &args, &argc) == FAILURE) { return; @@ -2540,7 +2479,8 @@ for (i = 0; i < argc; i++) { if (Z_TYPE_PP(args[i]) != IS_ARRAY) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1); - params_ok = 0; + efree(args); + RETURN_NULL(); } else { int num = zend_hash_num_elements(Z_ARRVAL_PP(args[i])); @@ -2549,10 +2489,6 @@ } } } - if (params_ok == 0) { - efree(args); - return; - } array_init_size(return_value, init_size); @@ -2865,7 +2801,6 @@ PHP_FUNCTION(array_flip) { zval *array, **entry, *data; - HashTable *target_hash; zstr string_key; uint str_key_len; ulong num_key; @@ -2875,13 +2810,12 @@ return; } - target_hash = HASH_OF(array); - array_init_size(return_value, zend_hash_num_elements(target_hash)); + array_init_size(return_value, zend_hash_num_elements(Z_ARRVAL_P(array))); - zend_hash_internal_pointer_reset_ex(target_hash, &pos); - while (zend_hash_get_current_data_ex(target_hash, (void **)&entry, &pos) == SUCCESS) { + zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(array), &pos); + while (zend_hash_get_current_data_ex(Z_ARRVAL_P(array), (void **)&entry, &pos) == SUCCESS) { MAKE_STD_ZVAL(data); - switch (zend_hash_get_current_key_ex(target_hash, &string_key, &str_key_len, &num_key, 1, &pos)) { + switch (zend_hash_get_current_key_ex(Z_ARRVAL_P(array), &string_key, &str_key_len, &num_key, 1, &pos)) { case HASH_KEY_IS_STRING: ZVAL_STRINGL(data, string_key.s, str_key_len - 1, 0); break; @@ -2903,7 +2837,7 @@ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Can only flip STRING and INTEGER values!"); } - zend_hash_move_forward_ex(target_hash, &pos); + zend_hash_move_forward_ex(Z_ARRVAL_P(array), &pos); } } /* }}} */ @@ -2965,8 +2899,7 @@ Removes duplicate values from array */ PHP_FUNCTION(array_unique) { - zval **array, *tmp; - HashTable *target_hash; + zval *array, *tmp; Bucket *p; struct bucketindex { Bucket *b; @@ -2975,30 +2908,24 @@ struct bucketindex *arTmp, *cmpdata, *lastkept; unsigned int i; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &array) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", &array) == FAILURE) { return; } - target_hash = HASH_OF(*array); - if (!target_hash) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument should be an array"); - RETURN_FALSE; - } - - array_init_size(return_value, zend_hash_num_elements(target_hash)); - zend_hash_copy(Z_ARRVAL_P(return_value), target_hash, (copy_ctor_func_t) zval_add_ref, (void *)&tmp, sizeof(zval*)); + array_init_size(return_value, zend_hash_num_elements(Z_ARRVAL_P(array))); + zend_hash_copy(Z_ARRVAL_P(return_value), Z_ARRVAL_P(array), (copy_ctor_func_t) zval_add_ref, (void *)&tmp, sizeof(zval*)); - if (target_hash->nNumOfElements <= 1) { /* nothing to do */ + if (Z_ARRVAL_P(array)->nNumOfElements <= 1) { /* nothing to do */ return; } /* create and sort array with pointers to the target_hash buckets */ - arTmp = (struct bucketindex *) pemalloc((target_hash->nNumOfElements + 1) * sizeof(struct bucketindex), target_hash->persistent); + arTmp = (struct bucketindex *) pemalloc((Z_ARRVAL_P(array)->nNumOfElements + 1) * sizeof(struct bucketindex), Z_ARRVAL_P(array)->persistent); if (!arTmp) { zval_dtor(return_value); RETURN_FALSE; } - for (i = 0, p = target_hash->pListHead; p; i++, p = p->pListNext) { + for (i = 0, p = Z_ARRVAL_P(array)->pListHead; p; i++, p = p->pListNext) { arTmp[i].b = p; arTmp[i].i = i; } @@ -3029,7 +2956,7 @@ } } } - pefree(arTmp, target_hash->persistent); + pefree(arTmp, Z_ARRVAL_P(array)->persistent); } /* }}} */ @@ -3303,7 +3230,7 @@ arr_argc = i; /* only free up to i - 1 */ goto out; } - hash = HASH_OF(*args[i]); + hash = Z_ARRVAL_PP(args[i]); list = (Bucket **) pemalloc((hash->nNumOfElements + 1) * sizeof(Bucket *), hash->persistent); if (!list) { PHP_ARRAY_CMP_FUNC_RESTORE(); @@ -3441,7 +3368,7 @@ } out: for (i = 0; i < arr_argc; i++) { - hash = HASH_OF(*args[i]); + hash = Z_ARRVAL_PP(args[i]); pefree(lists[i], hash->persistent); } @@ -3721,7 +3648,7 @@ arr_argc = i; /* only free up to i - 1 */ goto out; } - hash = HASH_OF(*args[i]); + hash = Z_ARRVAL_PP(args[i]); list = (Bucket **) pemalloc((hash->nNumOfElements + 1) * sizeof(Bucket *), hash->persistent); if (!list) { PHP_ARRAY_CMP_FUNC_RESTORE(); @@ -3855,7 +3782,7 @@ } out: for (i = 0; i < arr_argc; i++) { - hash = HASH_OF(*args[i]); + hash = Z_ARRVAL_PP(args[i]); pefree(lists[i], hash->persistent); } @@ -4590,29 +4517,24 @@ zval *key, /* key to check for */ *array; /* array to check in */ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zz", &key, &array) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "za", &key, &array) == FAILURE) { return; } - if (Z_TYPE_P(array) != IS_ARRAY && Z_TYPE_P(array) != IS_OBJECT) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The second argument should be either an array or an object"); - RETURN_FALSE; - } - switch (Z_TYPE_P(key)) { case IS_STRING: case IS_UNICODE: - if (zend_u_symtable_exists(HASH_OF(array), Z_TYPE_P(key), Z_UNIVAL_P(key), Z_UNILEN_P(key) + 1)) { + if (zend_u_symtable_exists(Z_ARRVAL_P(array), Z_TYPE_P(key), Z_UNIVAL_P(key), Z_UNILEN_P(key) + 1)) { RETURN_TRUE; } RETURN_FALSE; case IS_LONG: - if (zend_hash_index_exists(HASH_OF(array), Z_LVAL_P(key))) { + if (zend_hash_index_exists(Z_ARRVAL_P(array), Z_LVAL_P(key))) { RETURN_TRUE; } RETURN_FALSE; case IS_NULL: - if (zend_u_hash_exists(HASH_OF(array), (UG(unicode) ? IS_UNICODE : IS_STRING), EMPTY_ZSTR, 1)) { + if (zend_u_hash_exists(Z_ARRVAL_P(array), (UG(unicode) ? IS_UNICODE : IS_STRING), EMPTY_ZSTR, 1)) { RETURN_TRUE; } RETURN_FALSE; http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_key_exists.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/standard/tests/array/array_key_exists.phpt diff -u php-src/ext/standard/tests/array/array_key_exists.phpt:1.3 php-src/ext/standard/tests/array/array_key_exists.phpt:1.4 --- php-src/ext/standard/tests/array/array_key_exists.phpt:1.3 Mon May 26 23:35:47 2008 +++ php-src/ext/standard/tests/array/array_key_exists.phpt Fri Aug 29 02:48:28 2008 @@ -255,23 +255,23 @@ Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d bool(false) -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d +NULL -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d +NULL -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d +NULL -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d +NULL -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d +NULL -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d +NULL Warning: array_key_exists() expects exactly 2 parameters, 3 given in %s on line %d NULL @@ -280,13 +280,23 @@ bool(false) *** Testing operation on objects *** -bool(false) -bool(false) -bool(true) -bool(false) -bool(true) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL bool(true) -Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_key_exists_object1.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/array/array_key_exists_object1.phpt diff -u php-src/ext/standard/tests/array/array_key_exists_object1.phpt:1.2 php-src/ext/standard/tests/array/array_key_exists_object1.phpt:1.3 --- php-src/ext/standard/tests/array/array_key_exists_object1.phpt:1.2 Mon May 26 23:35:47 2008 +++ php-src/ext/standard/tests/array/array_key_exists_object1.phpt Fri Aug 29 02:48:28 2008 @@ -52,9 +52,13 @@ -- Do not assign a value to $class1->var3 -- $key = var1: -bool(true) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL $key = var3: -bool(true) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL $class1: object(myClass)#%d (3) { [u"var1"]=> @@ -67,7 +71,9 @@ -- Assign a value to $class2->var3 -- $key = var3: -bool(true) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL $class2: object(myClass)#%d (3) { [u"var1"]=> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_key_exists_object2.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/array/array_key_exists_object2.phpt diff -u php-src/ext/standard/tests/array/array_key_exists_object2.phpt:1.2 php-src/ext/standard/tests/array/array_key_exists_object2.phpt:1.3 --- php-src/ext/standard/tests/array/array_key_exists_object2.phpt:1.2 Mon May 26 23:35:47 2008 +++ php-src/ext/standard/tests/array/array_key_exists_object2.phpt Fri Aug 29 02:48:28 2008 @@ -54,11 +54,17 @@ -- Do not assign a value to $class1->var3 -- $key = var1: -bool(true) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL $key = var2: -bool(false) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL $key = var3: -bool(false) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL $class1: object(myClass)#1 (3) { [u"var1"]=> @@ -71,7 +77,9 @@ -- Assign a value to $class2->var3 -- $key = var3: -bool(false) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL $class2: object(myClass)#2 (3) { [u"var1"]=> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_key_exists_variation2.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/array/array_key_exists_variation2.phpt diff -u php-src/ext/standard/tests/array/array_key_exists_variation2.phpt:1.2 php-src/ext/standard/tests/array/array_key_exists_variation2.phpt:1.3 --- php-src/ext/standard/tests/array/array_key_exists_variation2.phpt:1.2 Mon May 26 23:35:47 2008 +++ php-src/ext/standard/tests/array/array_key_exists_variation2.phpt Fri Aug 29 02:48:28 2008 @@ -104,122 +104,124 @@ -- Iteration 1 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d +NULL -- Iteration 2 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d +NULL -- Iteration 3 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d +NULL -- Iteration 4 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, integer given in %s on line %d +NULL -- Iteration 5 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d +NULL -- Iteration 6 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d +NULL -- Iteration 7 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d +NULL -- Iteration 8 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d +NULL -- Iteration 9 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, double given in %s on line %d +NULL -- Iteration 10 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d +NULL -- Iteration 11 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d +NULL -- Iteration 12 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d +NULL -- Iteration 13 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d +NULL -- Iteration 14 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d +NULL -- Iteration 15 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, boolean given in %s on line %d +NULL -- Iteration 16 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d +NULL -- Iteration 17 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d +NULL -- Iteration 18 -- bool(false) -- Iteration 19 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d +NULL -- Iteration 20 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d +NULL -- Iteration 21 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, Unicode string given in %s on line %d +NULL -- Iteration 22 -- -bool(false) + +Warning: array_key_exists() expects parameter 2 to be array, object given in %s on line %d +NULL -- Iteration 23 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d +NULL -- Iteration 24 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, null given in %s on line %d +NULL -- Iteration 25 -- -Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d -bool(false) +Warning: array_key_exists() expects parameter 2 to be array, resource given in %s on line %d +NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_merge.phpt?r1=1.5&r2=1.6&diff_format=u Index: php-src/ext/standard/tests/array/array_merge.phpt diff -u php-src/ext/standard/tests/array/array_merge.phpt:1.5 php-src/ext/standard/tests/array/array_merge.phpt:1.6 --- php-src/ext/standard/tests/array/array_merge.phpt:1.5 Sun Aug 17 22:11:21 2008 +++ php-src/ext/standard/tests/array/array_merge.phpt Fri Aug 29 02:48:28 2008 @@ -750,8 +750,6 @@ NULL Warning: array_merge(): Argument #1 is not an array in %s on line %d - -Warning: array_merge(): Argument #2 is not an array in %s on line %d NULL Warning: array_merge(): Argument #3 is not an array in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_unique_variation1.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/array/array_unique_variation1.phpt diff -u php-src/ext/standard/tests/array/array_unique_variation1.phpt:1.2 php-src/ext/standard/tests/array/array_unique_variation1.phpt:1.3 --- php-src/ext/standard/tests/array/array_unique_variation1.phpt:1.2 Mon May 26 23:35:48 2008 +++ php-src/ext/standard/tests/array/array_unique_variation1.phpt Fri Aug 29 02:48:28 2008 @@ -98,97 +98,98 @@ *** Testing array_unique() : Passing non array values to $input argument *** -- Iteration 1 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 2 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 3 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 4 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 5 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 6 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 7 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 8 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 9 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 10 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 11 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 12 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 13 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 14 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 15 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 16 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 17 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 18 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 19 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 20 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 21 -- -array(0) { -} + +Warning: array_unique() expects parameter 1 to be array, object given in %s on line %d +NULL -- Iteration 22 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 23 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 24 -- -Warning: array_unique(): The argument should be an array in %s on line %d -bool(false) +Warning: array_unique() expects parameter 1 to be array, resource given in %s on line %d +NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_walk.phpt?r1=1.4&r2=1.5&diff_format=u Index: php-src/ext/standard/tests/array/array_walk.phpt diff -u php-src/ext/standard/tests/array/array_walk.phpt:1.4 php-src/ext/standard/tests/array/array_walk.phpt:1.5 --- php-src/ext/standard/tests/array/array_walk.phpt:1.4 Mon May 26 23:35:48 2008 +++ php-src/ext/standard/tests/array/array_walk.phpt Fri Aug 29 02:48:28 2008 @@ -34,7 +34,7 @@ Warning: array_walk() expects at least 2 parameters, 0 given in %s on line %d NULL -Warning: array_walk() expects parameter 2 to be a valid callback, no array or string given in %s on line %d +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d NULL Warning: array_walk() expects parameter 2 to be a valid callback, function '' not found or invalid function name in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_walk_recursive1.phpt?r1=1.4&r2=1.5&diff_format=u Index: php-src/ext/standard/tests/array/array_walk_recursive1.phpt diff -u php-src/ext/standard/tests/array/array_walk_recursive1.phpt:1.4 php-src/ext/standard/tests/array/array_walk_recursive1.phpt:1.5 --- php-src/ext/standard/tests/array/array_walk_recursive1.phpt:1.4 Mon May 26 23:35:48 2008 +++ php-src/ext/standard/tests/array/array_walk_recursive1.phpt Fri Aug 29 02:48:28 2008 @@ -34,7 +34,7 @@ Warning: array_walk_recursive() expects at least 2 parameters, 0 given in %s on line %d NULL -Warning: array_walk_recursive() expects parameter 2 to be a valid callback, no array or string given in %s on line %d +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d NULL Warning: array_walk_recursive() expects parameter 2 to be a valid callback, function '' not found or invalid function name in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_walk_recursive_variation1.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/array/array_walk_recursive_variation1.phpt diff -u php-src/ext/standard/tests/array/array_walk_recursive_variation1.phpt:1.2 php-src/ext/standard/tests/array/array_walk_recursive_variation1.phpt:1.3 --- php-src/ext/standard/tests/array/array_walk_recursive_variation1.phpt:1.2 Mon May 26 23:35:48 2008 +++ php-src/ext/standard/tests/array/array_walk_recursive_variation1.phpt Fri Aug 29 02:48:28 2008 @@ -95,156 +95,156 @@ *** Testing array_walk_recursive() : unexpected values for 'input' argument *** -- Iteration 1 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 2 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 3 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 4 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 5 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 6 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 7 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 8 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 9 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 10 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 11 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 12 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 13 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 14 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 15 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 16 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 17 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 18 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 19 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 20 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, resource given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, resource given in %s on line %d +NULL -- Iteration 21 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 22 -- -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d +NULL -Warning: array_walk_recursive(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk_recursive() expects parameter 1 to be array, null given in %s on line %d +NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_walk_variation1.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/array/array_walk_variation1.phpt diff -u php-src/ext/standard/tests/array/array_walk_variation1.phpt:1.2 php-src/ext/standard/tests/array/array_walk_variation1.phpt:1.3 --- php-src/ext/standard/tests/array/array_walk_variation1.phpt:1.2 Mon May 26 23:35:48 2008 +++ php-src/ext/standard/tests/array/array_walk_variation1.phpt Fri Aug 29 02:48:28 2008 @@ -95,156 +95,156 @@ *** Testing array_walk() : unexpected values for 'input' argument *** -- Iteration 1 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 2 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 3 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 4 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, integer given in %s on line %d +NULL -- Iteration 5 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 6 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 7 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 8 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 9 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, double given in %s on line %d +NULL -- Iteration 10 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 11 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 12 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 13 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 14 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 15 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, boolean given in %s on line %d +NULL -- Iteration 16 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 17 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 18 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 19 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, Unicode string given in %s on line %d +NULL -- Iteration 20 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, resource given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, resource given in %s on line %d +NULL -- Iteration 21 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d +NULL -- Iteration 22 -- -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d +NULL -Warning: array_walk(): The argument should be an array in %s on line %d -bool(false) +Warning: array_walk() expects parameter 1 to be array, null given in %s on line %d +NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug40191.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/standard/tests/array/bug40191.phpt diff -u php-src/ext/standard/tests/array/bug40191.phpt:1.3 php-src/ext/standard/tests/array/bug40191.phpt:1.4 --- php-src/ext/standard/tests/array/bug40191.phpt:1.3 Mon May 26 23:35:48 2008 +++ php-src/ext/standard/tests/array/bug40191.phpt Fri Aug 29 02:48:28 2008 @@ -16,10 +16,6 @@ echo "Done\n"; ?> --EXPECTF-- -array(2) { - [0]=> - unicode(3) "foo" - [1]=> - unicode(3) "bar" -} +Warning: array_unique() expects parameter 1 to be array, object given in %s on line %d +NULL Done http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/natcasesort_variation1.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/standard/tests/array/natcasesort_variation1.phpt diff -u php-src/ext/standard/tests/array/natcasesort_variation1.phpt:1.3 php-src/ext/standard/tests/array/natcasesort_variation1.phpt:1.4 --- php-src/ext/standard/tests/array/natcasesort_variation1.phpt:1.3 Mon May 26 23:35:49 2008 +++ php-src/ext/standard/tests/array/natcasesort_variation1.phpt Fri Aug 29 02:48:28 2008 @@ -99,87 +99,87 @@ -- Iteration 1 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 2 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 3 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 4 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, integer given in %s on line %d NULL -- Iteration 5 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 6 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 7 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 8 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 9 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, double given in %s on line %d NULL -- Iteration 10 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 11 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 12 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 13 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 14 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 15 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, boolean given in %s on line %d NULL -- Iteration 16 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 17 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 18 -- @@ -187,34 +187,36 @@ -- Iteration 19 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 20 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 21 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, Unicode string given in %s on line %d NULL -- Iteration 22 -- -bool(true) + +Warning: natcasesort() expects parameter 1 to be array, object given in %s on line %d +NULL -- Iteration 23 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 24 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, null given in %s on line %d NULL -- Iteration 25 -- -Warning: natcasesort(): The argument should be an array in %s on line %d +Warning: natcasesort() expects parameter 1 to be array, resource given in %s on line %d NULL Done
« previous php.doc (#969379344) next »