[php-src] master: intl: refactor collator

From: 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()

« previous php.cvs (#142678) next »