diff options
author | Fabien Villepinte <fabien.villepinte@gmail.com> | 2017-04-18 17:03:42 +0200 |
---|---|---|
committer | Joe Watkins <krakjoe@php.net> | 2017-05-02 06:20:40 +0100 |
commit | f50df1d0e33aaf5007670966ca067318e064df82 (patch) | |
tree | d76530b047111e6d09dd803f40568e25184ad866 /ext | |
parent | a581e641994908af2ffdcac652ad14c34fbdef4c (diff) | |
download | php-git-f50df1d0e33aaf5007670966ca067318e064df82.tar.gz |
Fix bug #74468 wrong reflection on Collator::sortWithSortKeys
Diffstat (limited to 'ext')
-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 |
3 files changed, 33 insertions, 2 deletions
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-- +<?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=== |