diff options
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | ext/intl/collator/collator_class.c | 6 | ||||
-rw-r--r-- | ext/intl/php_intl.c | 7 | ||||
-rw-r--r-- | ext/intl/tests/bug74468.phpt | 22 |
4 files changed, 35 insertions, 3 deletions
@@ -2,7 +2,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2017, PHP 7.1.6 - +- intl: + . Fixed bug #74468 (wrong reflection on Collator::sortWithSortKeys). (villfa) 11 May 2017, PHP 7.1.5 diff --git a/ext/intl/collator/collator_class.c b/ext/intl/collator/collator_class.c index 11aaea58e7..23b03b52fb 100644 --- a/ext/intl/collator/collator_class.c +++ b/ext/intl/collator/collator_class.c @@ -88,6 +88,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 @@ -99,7 +103,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 1f20e42191..69e62ca301 100644 --- a/ext/intl/php_intl.c +++ b/ext/intl/php_intl.c @@ -154,6 +154,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) @@ -629,7 +634,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-- +<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> +<?php if (version_compare(INTL_ICU_VERSION, '51.2') >= 0) die('skip for ICU < 51.2'); ?> +--FILE-- +<?php +$rm = new ReflectionMethod(Collator::class, 'sortWithSortKeys'); +var_dump($rm->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=== |