Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make array parsing parameters error message consistency with ZPP failure #3429

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 13 additions & 13 deletions ext/standard/array.c
Expand Up @@ -3752,7 +3752,7 @@ static inline void php_array_merge_or_replace_wrapper(INTERNAL_FUNCTION_PARAMETE
zval *arg = args + i;

if (Z_TYPE_P(arg) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(arg));
RETURN_NULL();
}
}
Expand Down Expand Up @@ -3781,7 +3781,7 @@ static inline void php_array_merge_or_replace_wrapper(INTERNAL_FUNCTION_PARAMETE
zval *arg = args + i;

if (Z_TYPE_P(arg) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(arg));
RETURN_NULL();
}
count += zend_hash_num_elements(Z_ARRVAL_P(arg));
Expand Down Expand Up @@ -4639,7 +4639,7 @@ static void php_array_intersect_key(INTERNAL_FUNCTION_PARAMETERS, int data_compa

for (i = 0; i < argc; i++) {
if (Z_TYPE(args[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(&args[i]));
RETURN_NULL();
}
}
Expand Down Expand Up @@ -4810,7 +4810,7 @@ static void php_array_intersect(INTERNAL_FUNCTION_PARAMETERS, int behavior, int

for (i = 0; i < arr_argc; i++) {
if (Z_TYPE(args[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(&args[i]));
arr_argc = i; /* only free up to i - 1 */
goto out;
}
Expand Down Expand Up @@ -5050,7 +5050,7 @@ static void php_array_diff_key(INTERNAL_FUNCTION_PARAMETERS, int data_compare_ty

for (i = 0; i < argc; i++) {
if (Z_TYPE(args[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(&args[i]));
RETURN_NULL();
}
}
Expand Down Expand Up @@ -5221,7 +5221,7 @@ static void php_array_diff(INTERNAL_FUNCTION_PARAMETERS, int behavior, int data_

for (i = 0; i < arr_argc; i++) {
if (Z_TYPE(args[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(&args[i]));
arr_argc = i; /* only free up to i - 1 */
goto out;
}
Expand Down Expand Up @@ -5398,15 +5398,15 @@ PHP_FUNCTION(array_diff)
ZEND_PARSE_PARAMETERS_END();

if (Z_TYPE(args[0]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #1 is not an array");
php_error_docref(NULL, E_WARNING, "Expected parameter 1 to be an array, %s given", zend_zval_type_name(&args[0]));
RETURN_NULL();
}

num = zend_hash_num_elements(Z_ARRVAL(args[0]));
if (num == 0) {
for (i = 1; i < argc; i++) {
if (Z_TYPE(args[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(&args[i]));
RETURN_NULL();
}
}
Expand All @@ -5424,7 +5424,7 @@ PHP_FUNCTION(array_diff)
if (!value) {
for (i = 1; i < argc; i++) {
if (Z_TYPE(args[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(&args[i]));
RETURN_NULL();
}
}
Expand All @@ -5436,7 +5436,7 @@ PHP_FUNCTION(array_diff)

for (i = 1; i < argc; i++) {
if (Z_TYPE(args[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(&args[i]));
RETURN_NULL();
}
if (!found) {
Expand Down Expand Up @@ -5466,7 +5466,7 @@ PHP_FUNCTION(array_diff)
num = 0;
for (i = 1; i < argc; i++) {
if (Z_TYPE(args[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d is not an array", i + 1);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 1, zend_zval_type_name(&args[i]));
RETURN_NULL();
}
num += zend_hash_num_elements(Z_ARRVAL(args[i]));
Expand Down Expand Up @@ -6117,7 +6117,7 @@ PHP_FUNCTION(array_map)
int ret;

if (Z_TYPE(arrays[0]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d should be an array", 2);
php_error_docref(NULL, E_WARNING, "Expected parameter 2 to be an array, %s given", zend_zval_type_name(&arrays[0]));
return;
}
maxlen = zend_hash_num_elements(Z_ARRVAL(arrays[0]));
Expand Down Expand Up @@ -6155,7 +6155,7 @@ PHP_FUNCTION(array_map)

for (i = 0; i < n_arrays; i++) {
if (Z_TYPE(arrays[i]) != IS_ARRAY) {
php_error_docref(NULL, E_WARNING, "Argument #%d should be an array", i + 2);
php_error_docref(NULL, E_WARNING, "Expected parameter %d to be an array, %s given", i + 2, zend_zval_type_name(&arrays[0]));
efree(array_pos);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion ext/standard/tests/array/array_diff_1.phpt
Expand Up @@ -11,5 +11,5 @@ array_diff($a, $b, $c);
echo "OK!";
?>
--EXPECTF--
Warning: array_diff(): Argument #2 is not an array in %s
Warning: array_diff(): Expected parameter 2 to be an array, int given in %s
OK!
52 changes: 26 additions & 26 deletions ext/standard/tests/array/array_diff_assoc_variation1.phpt
Expand Up @@ -104,131 +104,131 @@ echo "Done";

-- Iteration 1 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, int given in %s on line %d
NULL

-- Iteration 2 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, int given in %s on line %d
NULL

-- Iteration 3 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, int given in %s on line %d
NULL

-- Iteration 4 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, int given in %s on line %d
NULL

-- Iteration 5 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, float given in %s on line %d
NULL

-- Iteration 6 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, float given in %s on line %d
NULL

-- Iteration 7 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, float given in %s on line %d
NULL

-- Iteration 8 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, float given in %s on line %d
NULL

-- Iteration 9 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, float given in %s on line %d
NULL

-- Iteration 10 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, null given in %s on line %d
NULL

-- Iteration 11 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, null given in %s on line %d
NULL

-- Iteration 12 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, bool given in %s on line %d
NULL

-- Iteration 13 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, bool given in %s on line %d
NULL

-- Iteration 14 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, bool given in %s on line %d
NULL

-- Iteration 15 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, bool given in %s on line %d
NULL

-- Iteration 16 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, string given in %s on line %d
NULL

-- Iteration 17 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, string given in %s on line %d
NULL

-- Iteration 18 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, string given in %s on line %d
NULL

-- Iteration 19 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, string given in %s on line %d
NULL

-- Iteration 20 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, string given in %s on line %d
NULL

-- Iteration 21 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, string given in %s on line %d
NULL

-- Iteration 22 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, string given in %s on line %d
NULL

-- Iteration 23 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, object given in %s on line %d
NULL

-- Iteration 24 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, null given in %s on line %d
NULL

-- Iteration 25 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, null given in %s on line %d
NULL

-- Iteration 26 --

Warning: array_diff_assoc(): Argument #1 is not an array in %s on line %d
Warning: array_diff_assoc(): Expected parameter 1 to be an array, resource given in %s on line %d
NULL
Done