From f50df1d0e33aaf5007670966ca067318e064df82 Mon Sep 17 00:00:00 2001 From: Fabien Villepinte Date: Tue, 18 Apr 2017 17:03:42 +0200 Subject: Fix bug #74468 wrong reflection on Collator::sortWithSortKeys --- ext/intl/collator/collator_class.c | 6 +++++- ext/intl/php_intl.c | 7 ++++++- ext/intl/tests/bug74468.phpt | 22 ++++++++++++++++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 ext/intl/tests/bug74468.phpt (limited to 'ext') diff --git a/ext/intl/collator/collator_class.c b/ext/intl/collator/collator_class.c index 4fc7067708..0821cb19d8 100644 --- a/ext/intl/collator/collator_class.c +++ b/ext/intl/collator/collator_class.c @@ -95,6 +95,10 @@ ZEND_BEGIN_ARG_INFO_EX( collator_sort_args, 0, 0, 1 ) ZEND_ARG_INFO( 0, flags ) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX( collator_sort_with_sort_keys_args, 0, 0, 1 ) + ZEND_ARG_ARRAY_INFO( 1, arr, 0 ) +ZEND_END_ARG_INFO() + /* }}} */ /* {{{ Collator_class_functions @@ -106,7 +110,7 @@ zend_function_entry Collator_class_functions[] = { ZEND_FENTRY( create, ZEND_FN( collator_create ), collator_1_arg, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC ) PHP_NAMED_FE( compare, ZEND_FN( collator_compare ), collator_2_args ) PHP_NAMED_FE( sort, ZEND_FN( collator_sort ), collator_sort_args ) - PHP_NAMED_FE( sortWithSortKeys, ZEND_FN( collator_sort_with_sort_keys ), collator_sort_args ) + PHP_NAMED_FE( sortWithSortKeys, ZEND_FN( collator_sort_with_sort_keys ), collator_sort_with_sort_keys_args ) PHP_NAMED_FE( asort, ZEND_FN( collator_asort ), collator_sort_args ) PHP_NAMED_FE( getAttribute, ZEND_FN( collator_get_attribute ), collator_1_arg ) PHP_NAMED_FE( setAttribute, ZEND_FN( collator_set_attribute ), collator_2_args ) diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c index fd35e57120..787cb48fcc 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -159,6 +159,11 @@ ZEND_BEGIN_ARG_INFO_EX(collator_sort_args, 0, 0, 2) ZEND_ARG_INFO(0, sort_flags) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(collator_sort_with_sort_keys_args, 0, 0, 2) + ZEND_ARG_OBJ_INFO(0, coll, Collator, 0) + ZEND_ARG_ARRAY_INFO(1, arr, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(numfmt_parse_arginfo, 0, 0, 2) ZEND_ARG_INFO(0, formatter) ZEND_ARG_INFO(0, string) @@ -645,7 +650,7 @@ zend_function_entry intl_functions[] = { PHP_FE( collator_get_strength, collator_0_args ) PHP_FE( collator_set_strength, collator_1_arg ) PHP_FE( collator_sort, collator_sort_args ) - PHP_FE( collator_sort_with_sort_keys, collator_sort_args ) + PHP_FE( collator_sort_with_sort_keys, collator_sort_with_sort_keys_args ) PHP_FE( collator_asort, collator_sort_args ) PHP_FE( collator_get_locale, collator_1_arg ) PHP_FE( collator_get_error_code, collator_0_args ) diff --git a/ext/intl/tests/bug74468.phpt b/ext/intl/tests/bug74468.phpt new file mode 100644 index 0000000000..63d469efb4 --- /dev/null +++ b/ext/intl/tests/bug74468.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #74468 Wrong reflection on Collator::sortWithSortKeys +--SKIPIF-- + += 0) die('skip for ICU < 51.2'); ?> +--FILE-- +getNumberOfParameters()); +var_dump($rm->getNumberOfRequiredParameters()); + +$rf = new ReflectionFunction('collator_sort_with_sort_keys'); +var_dump($rf->getNumberOfParameters()); +var_dump($rf->getNumberOfRequiredParameters()); +?> +===DONE=== +--EXPECT-- +int(1) +int(1) +int(2) +int(2) +===DONE=== -- cgit v1.2.1