mirror of
https://github.com/php/php-src.git
synced 2025-08-18 23:18:56 +02:00
improve the fix and the test
This commit is contained in:
parent
a65efab679
commit
6a7f43cfa0
2 changed files with 41 additions and 2 deletions
|
@ -615,14 +615,16 @@ static void php_filter_array_handler(zval *input, zval **op, zval *return_value
|
||||||
zval **tmp, **arg_elm;
|
zval **tmp, **arg_elm;
|
||||||
|
|
||||||
if (!op) {
|
if (!op) {
|
||||||
SEPARATE_ZVAL(&input);
|
zval_dtor(return_value);
|
||||||
*return_value = *input;
|
*return_value = *input;
|
||||||
zval_copy_ctor(return_value);
|
zval_copy_ctor(return_value);
|
||||||
|
INIT_PZVAL(return_value);
|
||||||
php_filter_call(&return_value, FILTER_DEFAULT, NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC);
|
php_filter_call(&return_value, FILTER_DEFAULT, NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC);
|
||||||
} else if (Z_TYPE_PP(op) == IS_LONG) {
|
} else if (Z_TYPE_PP(op) == IS_LONG) {
|
||||||
SEPARATE_ZVAL(&input);
|
zval_dtor(return_value);
|
||||||
*return_value = *input;
|
*return_value = *input;
|
||||||
zval_copy_ctor(return_value);
|
zval_copy_ctor(return_value);
|
||||||
|
INIT_PZVAL(return_value);
|
||||||
php_filter_call(&return_value, Z_LVAL_PP(op), NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC);
|
php_filter_call(&return_value, Z_LVAL_PP(op), NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC);
|
||||||
} else if (Z_TYPE_PP(op) == IS_ARRAY) {
|
} else if (Z_TYPE_PP(op) == IS_ARRAY) {
|
||||||
array_init(return_value);
|
array_init(return_value);
|
||||||
|
|
|
@ -28,6 +28,19 @@ var_dump(filter_var_array(array("var_name"=>""), array("var_name"=>-1)));
|
||||||
var_dump(filter_var_array(array("var_name"=>""), array("var_name"=>-1, "asdas"=>"asdasd", "qwe"=>"rty", ""=>"")));
|
var_dump(filter_var_array(array("var_name"=>""), array("var_name"=>-1, "asdas"=>"asdasd", "qwe"=>"rty", ""=>"")));
|
||||||
var_dump(filter_var_array(array("asdas"=>"text"), array("var_name"=>-1, "asdas"=>"asdasd", "qwe"=>"rty", ""=>"")));
|
var_dump(filter_var_array(array("asdas"=>"text"), array("var_name"=>-1, "asdas"=>"asdasd", "qwe"=>"rty", ""=>"")));
|
||||||
|
|
||||||
|
|
||||||
|
$a = array(""=>""); $b = -1;
|
||||||
|
var_dump(filter_var_array($a, $b));
|
||||||
|
var_dump($a, $b);
|
||||||
|
|
||||||
|
$a = array(""=>""); $b = 100000;
|
||||||
|
var_dump(filter_var_array($a, $b));
|
||||||
|
var_dump($a, $b);
|
||||||
|
|
||||||
|
$a = array(""=>""); $b = "";
|
||||||
|
var_dump(filter_var_array($a, $b));
|
||||||
|
var_dump($a, $b);
|
||||||
|
|
||||||
echo "Done\n";
|
echo "Done\n";
|
||||||
?>
|
?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
|
@ -99,4 +112,28 @@ array(4) {
|
||||||
[""]=>
|
[""]=>
|
||||||
NULL
|
NULL
|
||||||
}
|
}
|
||||||
|
array(1) {
|
||||||
|
[""]=>
|
||||||
|
string(0) ""
|
||||||
|
}
|
||||||
|
array(1) {
|
||||||
|
[""]=>
|
||||||
|
string(0) ""
|
||||||
|
}
|
||||||
|
int(-1)
|
||||||
|
array(1) {
|
||||||
|
[""]=>
|
||||||
|
string(0) ""
|
||||||
|
}
|
||||||
|
array(1) {
|
||||||
|
[""]=>
|
||||||
|
string(0) ""
|
||||||
|
}
|
||||||
|
int(100000)
|
||||||
|
bool(false)
|
||||||
|
array(1) {
|
||||||
|
[""]=>
|
||||||
|
string(0) ""
|
||||||
|
}
|
||||||
|
string(0) ""
|
||||||
Done
|
Done
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue