]> granicus.if.org Git - php/commitdiff
Fixed bug #74433 Wrong reflection on the Normalizer methods
authorFabien Villepinte <fabien.villepinte@gmail.com>
Thu, 13 Apr 2017 11:25:13 +0000 (13:25 +0200)
committerJoe Watkins <krakjoe@php.net>
Thu, 13 Apr 2017 12:21:05 +0000 (13:21 +0100)
NEWS
ext/intl/normalizer/normalizer_class.c
ext/intl/tests/bug74433.phpt [new file with mode: 0644]

diff --git a/NEWS b/NEWS
index 5e4e1f49d65b6bb826235f13f606f8b30aa216fd..d664db7e6a585320a8f58cb33bf9b68d17ae7715 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,9 @@ PHP                                                                        NEWS
   . Fixed bug #74343 (compile fails on solaris 11 with system gd2 library).
     (krakjoe)
 
+- intl:
+  . Fixed bug #74433 (wrong reflection for Normalizer methods). (villfa)
+
 - MySQLnd:
   . Fixed bug #74376 (Invalid free of persistent results on error/connection
     loss). (Yussuf Khalil)
index 93a56246637e085758248083c653078324db02eb..894a3893f7a82b180b3830c8b7dca54d8d6e48ba 100644 (file)
@@ -29,10 +29,9 @@ zend_class_entry *Normalizer_ce_ptr = NULL;
 
 /* {{{ Normalizer methods arguments info */
 
-ZEND_BEGIN_ARG_INFO_EX( normalizer_3_args, 0, 0, 3 )
-       ZEND_ARG_INFO( 0, arg1 )
-       ZEND_ARG_INFO( 0, arg2 )
-       ZEND_ARG_INFO( 0, arg3 )
+ZEND_BEGIN_ARG_INFO_EX( normalizer_args, 0, 0, 1 )
+       ZEND_ARG_INFO( 0, input )
+       ZEND_ARG_INFO( 0, form )
 ZEND_END_ARG_INFO()
 
 /* }}} */
@@ -42,8 +41,8 @@ ZEND_END_ARG_INFO()
  */
 
 zend_function_entry Normalizer_class_functions[] = {
-       ZEND_FENTRY( normalize, ZEND_FN( normalizer_normalize ), normalizer_3_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
-       ZEND_FENTRY( isNormalized, ZEND_FN( normalizer_is_normalized ), normalizer_3_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
+       ZEND_FENTRY( normalize, ZEND_FN( normalizer_normalize ), normalizer_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
+       ZEND_FENTRY( isNormalized, ZEND_FN( normalizer_is_normalized ), normalizer_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
        PHP_FE_END
 };
 /* }}} */
diff --git a/ext/intl/tests/bug74433.phpt b/ext/intl/tests/bug74433.phpt
new file mode 100644 (file)
index 0000000..7919c87
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+Bug #74433 Wrong reflection on the Normalizer methods
+--SKIPIF--
+<?php if (!extension_loaded('intl')) die('skip intl extension not available'); ?>
+--FILE--
+<?php
+$rm = new ReflectionMethod(Normalizer::class, 'isNormalized');
+var_dump($rm->getNumberOfParameters());
+var_dump($rm->getNumberOfRequiredParameters());
+$rm = new ReflectionMethod(Normalizer::class, 'normalize');
+var_dump($rm->getNumberOfParameters());
+var_dump($rm->getNumberOfRequiredParameters());
+?>
+===DONE===
+--EXPECT--
+int(2)
+int(1)
+int(2)
+int(1)
+===DONE===