[php-src] master: intl: refactor collator
| From: | Gina Peter Banyard | Date: | Sat, 24 Oct 2026 14:44:26 +0000 |
| Subject: | [php-src] master: intl: refactor collator | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-142678@lists.php.net to get a copy of this message | ||
Author: Gina Peter Banyard (Girgias)
Date: 2026-10-24T15:42:08+01:00
Commit: https://github.com/php/php-src/commit/0d47d19bf08e9a702deae3c1ec52c1e0e675803a
Raw diff: https://github.com/php/php-src/commit/0d47d19bf08e9a702deae3c1ec52c1e0e675803a.diff
intl: refactor collator
- Make functions private
- Drop some header includes
- Remove old arg info header file
Changed paths:
D ext/intl/collator/collator_functions_arginfo.h
M ext/intl/collator/collator.h
M ext/intl/collator/collator_class.cpp
M ext/intl/collator/collator_class.h
Diff:
diff --git a/ext/intl/collator/collator.h b/ext/intl/collator/collator.h
index 959da9063e09..75e7bdc07997 100644
--- a/ext/intl/collator/collator.h
+++ b/ext/intl/collator/collator.h
@@ -16,8 +16,6 @@
#ifndef COLLATOR_COLLATOR_H
#define COLLATOR_COLLATOR_H
-#include <php.h>
-
#define COLLATOR_SORT_REGULAR 0
#define COLLATOR_SORT_STRING 1
#define COLLATOR_SORT_NUMERIC 2
diff --git a/ext/intl/collator/collator_class.cpp b/ext/intl/collator/collator_class.cpp
index 6e4996d065fe..c8920d782124 100644
--- a/ext/intl/collator/collator_class.cpp
+++ b/ext/intl/collator/collator_class.cpp
@@ -34,8 +34,22 @@ static zend_object_handlers Collator_handlers;
* Auxiliary functions needed by objects of 'Collator' class
*/
-/* {{{ Collator_objects_free */
-void Collator_objects_free(zend_object *object )
+/* Clean up mem allocted by internals of Collator_object */
+static void collator_object_destroy( Collator_object* co )
+{
+ if( !co )
+ return;
+
+ if( co->ucoll )
+ {
+ ucol_close( co->ucoll );
+ co->ucoll = nullptr;
+ }
+
+ intl_error_reset( COLLATOR_ERROR_P( co ) );
+}
+
+static void Collator_objects_free(zend_object *object )
{
Collator_object* co = php_intl_collator_fetch_object(object);
@@ -43,10 +57,9 @@ void Collator_objects_free(zend_object *object )
collator_object_destroy(co );
}
-/* }}} */
/* {{{ Collator_object_create */
-U_CFUNC zend_object *Collator_object_create(zend_class_entry *ce )
+static zend_object *Collator_object_create(zend_class_entry *ce )
{
Collator_object *intern = reinterpret_cast<Collator_object
*>(zend_object_alloc(sizeof(Collator_object), ce));
intl_error_init(COLLATOR_ERROR_P(intern));
@@ -82,21 +95,3 @@ U_CFUNC void collator_register_Collator_symbols(int module_number)
Collator_handlers.free_obj = Collator_objects_free;
}
/* }}} */
-
-/* {{{ void collator_object_destroy( Collator_object* co )
- * Clean up mem allocted by internals of Collator_object
- */
-U_CFUNC void collator_object_destroy( Collator_object* co )
-{
- if( !co )
- return;
-
- if( co->ucoll )
- {
- ucol_close( co->ucoll );
- co->ucoll = nullptr;
- }
-
- intl_error_reset( COLLATOR_ERROR_P( co ) );
-}
-/* }}} */
diff --git a/ext/intl/collator/collator_class.h b/ext/intl/collator/collator_class.h
index 84790e88f808..affe588c2214 100644
--- a/ext/intl/collator/collator_class.h
+++ b/ext/intl/collator/collator_class.h
@@ -60,7 +60,6 @@ static zend_always_inline zend_result collator_check_initialized(Collator_object
}
BEGIN_EXTERN_C()
void collator_register_Collator_symbols(int module_number);
-void collator_object_destroy( Collator_object* co );
extern zend_class_entry *Collator_ce_ptr;
END_EXTERN_C()
diff --git a/ext/intl/collator/collator_functions_arginfo.h
b/ext/intl/collator/collator_functions_arginfo.h
deleted file mode 100644
index 4a863d747643..000000000000
--- a/ext/intl/collator/collator_functions_arginfo.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* This is a generated file, edit the .stub.php file instead. */
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_collator_create, 0, 1, Collator, 1)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_compare, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, str1, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_attribute, 0, 2,
MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_set_attribute, 0, 3, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, val, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_get_strength, 0, 1, IS_LONG, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_set_strength, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, strength, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_sort, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(1, arr, IS_ARRAY, 0)
- ZEND_ARG_TYPE_INFO(0, sort_flag, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_sort_with_sort_keys, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(1, arr, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_collator_asort arginfo_collator_sort
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_locale, 0, 2,
MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_error_code, 0, 1,
MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_error_message, 0, 1,
MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_sort_key, 0, 2,
MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
-ZEND_END_ARG_INFO()