Skip to content

Commit

Permalink
Make array parsing parameters error message consistency with ZPP failure
Browse files Browse the repository at this point in the history
  • Loading branch information
carusogabriel committed Aug 8, 2018
1 parent 8872357 commit 0866695
Show file tree
Hide file tree
Showing 53 changed files with 1,709 additions and 1,709 deletions.
26 changes: 13 additions & 13 deletions ext/standard/array.c
Original file line number Diff line number Diff line change
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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(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_get_type_by_const(Z_TYPE(arrays[0])));
efree(array_pos);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion ext/standard/tests/array/array_diff_1.phpt
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Loading

0 comments on commit 0866695

Please sign in to comment.