From 4a83cadffd51719dab436d4752e7dc34ec073f5d Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Mon, 27 Apr 2026 14:15:00 +0200 Subject: [PATCH] Remove unnecessary structs for BSON MinKey and MaxKey classes --- src/BSON/MaxKey.c | 28 +--------------------------- src/BSON/MinKey.c | 28 +--------------------------- src/phongo_classes.h | 5 +++-- src/phongo_structs.h | 8 -------- 4 files changed, 5 insertions(+), 64 deletions(-) diff --git a/src/BSON/MaxKey.c b/src/BSON/MaxKey.c index c09186777..9461b79d4 100644 --- a/src/BSON/MaxKey.c +++ b/src/BSON/MaxKey.c @@ -58,33 +58,7 @@ static PHP_METHOD(MongoDB_BSON_MaxKey, __unserialize) PHONGO_PARSE_PARAMETERS_END(); } -/* MongoDB\BSON\MaxKey object handlers */ -static zend_object_handlers phongo_handler_maxkey; - -static void phongo_maxkey_free_object(zend_object* object) -{ - PHONGO_INTERN_FROM_Z_OBJ(maxkey, object); - - zend_object_std_dtor(&intern->std); -} - -static zend_object* phongo_maxkey_create_object(zend_class_entry* class_type) -{ - PHONGO_INTERN_OBJECT_ALLOC(maxkey, class_type); - - intern->std.handlers = &phongo_handler_maxkey; - - return &intern->std; -} - void phongo_maxkey_init_ce(INIT_FUNC_ARGS) { - phongo_maxkey_ce = register_class_MongoDB_BSON_MaxKey(phongo_maxkey_interface_ce, phongo_json_serializable_ce, phongo_type_ce); - phongo_maxkey_ce->create_object = phongo_maxkey_create_object; - - memcpy(&phongo_handler_maxkey, phongo_get_std_object_handlers(), sizeof(zend_object_handlers)); - /* Re-assign default handler previously removed in phongo.c */ - phongo_handler_maxkey.clone_obj = zend_objects_clone_obj; - phongo_handler_maxkey.free_obj = phongo_maxkey_free_object; - phongo_handler_maxkey.offset = XtOffsetOf(phongo_maxkey_t, std); + phongo_maxkey_ce = register_class_MongoDB_BSON_MaxKey(phongo_maxkey_interface_ce, phongo_json_serializable_ce, phongo_type_ce); } diff --git a/src/BSON/MinKey.c b/src/BSON/MinKey.c index b8ee6bd8a..848ae018c 100644 --- a/src/BSON/MinKey.c +++ b/src/BSON/MinKey.c @@ -58,33 +58,7 @@ static PHP_METHOD(MongoDB_BSON_MinKey, __unserialize) PHONGO_PARSE_PARAMETERS_END(); } -/* MongoDB\BSON\MinKey object handlers */ -static zend_object_handlers phongo_handler_minkey; - -static void phongo_minkey_free_object(zend_object* object) -{ - PHONGO_INTERN_FROM_Z_OBJ(minkey, object); - - zend_object_std_dtor(&intern->std); -} - -static zend_object* phongo_minkey_create_object(zend_class_entry* class_type) -{ - PHONGO_INTERN_OBJECT_ALLOC(minkey, class_type); - - intern->std.handlers = &phongo_handler_minkey; - - return &intern->std; -} - void phongo_minkey_init_ce(INIT_FUNC_ARGS) { - phongo_minkey_ce = register_class_MongoDB_BSON_MinKey(phongo_minkey_interface_ce, phongo_json_serializable_ce, phongo_type_ce); - phongo_minkey_ce->create_object = phongo_minkey_create_object; - - memcpy(&phongo_handler_minkey, phongo_get_std_object_handlers(), sizeof(zend_object_handlers)); - /* Re-assign default handler previously removed in phongo.c */ - phongo_handler_minkey.clone_obj = zend_objects_clone_obj; - phongo_handler_minkey.free_obj = phongo_minkey_free_object; - phongo_handler_minkey.offset = XtOffsetOf(phongo_minkey_t, std); + phongo_minkey_ce = register_class_MongoDB_BSON_MinKey(phongo_minkey_interface_ce, phongo_json_serializable_ce, phongo_type_ce); } diff --git a/src/phongo_classes.h b/src/phongo_classes.h index fd2001dd2..4d384d735 100644 --- a/src/phongo_classes.h +++ b/src/phongo_classes.h @@ -132,8 +132,6 @@ PHONGO_DECLARE_CLASS_WITH_HELPERS(DBPOINTER, dbpointer) PHONGO_DECLARE_CLASS_WITH_HELPERS(DECIMAL128, decimal128) PHONGO_DECLARE_CLASS_WITH_HELPERS(INT64, int64) PHONGO_DECLARE_CLASS_WITH_HELPERS(JAVASCRIPT, javascript) -PHONGO_DECLARE_CLASS_WITH_HELPERS(MAXKEY, maxkey) -PHONGO_DECLARE_CLASS_WITH_HELPERS(MINKEY, minkey) PHONGO_DECLARE_CLASS_WITH_HELPERS(OBJECTID, objectid) PHONGO_DECLARE_CLASS_WITH_HELPERS(PACKEDARRAY, packedarray) PHONGO_DECLARE_CLASS_WITH_HELPERS(SYMBOL, symbol) @@ -186,6 +184,9 @@ PHONGO_DECLARE_CLASS(unserializable) PHONGO_DECLARE_CLASS(serializable) PHONGO_DECLARE_CLASS(vectortype) +PHONGO_DECLARE_CLASS(maxkey) +PHONGO_DECLARE_CLASS(minkey) + PHONGO_DECLARE_CLASS(binary_interface) PHONGO_DECLARE_CLASS(decimal128_interface) PHONGO_DECLARE_CLASS(javascript_interface) diff --git a/src/phongo_structs.h b/src/phongo_structs.h index accb2497f..333775d8c 100644 --- a/src/phongo_structs.h +++ b/src/phongo_structs.h @@ -235,14 +235,6 @@ typedef struct { zend_object std; } phongo_javascript_t; -typedef struct { - zend_object std; -} phongo_maxkey_t; - -typedef struct { - zend_object std; -} phongo_minkey_t; - typedef struct { bool initialized; char oid[25];