Remove properties field from php_libxml_node_object (#13062)

This shrinks the struct from 80 bytes to 72 bytes.
This was unused internally, I did not find users externally via GitHub
search.
The intention for this was that it could be used for attaching extra
data as a 3rd party to a node. However, there are better mechanisms for
that like using actual objects.
This commit is contained in:
Niels Dossche 2024-01-03 20:03:56 +01:00 committed by GitHub
parent 96ee0787cf
commit 03547f6832
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 11 deletions

View file

@ -152,15 +152,6 @@ static void php_libxml_unlink_entity(void *data, void *table, xmlChar *name)
}
/* {{{ internal functions for interoperability */
static int php_libxml_clear_object(php_libxml_node_object *object)
{
if (object->properties) {
object->properties = NULL;
}
php_libxml_decrement_node_ptr(object);
return php_libxml_decrement_doc_ref(object);
}
static void php_libxml_unregister_node(xmlNodePtr nodep)
{
php_libxml_node_object *wrapper;
@ -170,7 +161,8 @@ static void php_libxml_unregister_node(xmlNodePtr nodep)
if (nodeptr != NULL) {
wrapper = nodeptr->_private;
if (wrapper) {
php_libxml_clear_object(wrapper);
php_libxml_decrement_node_ptr(wrapper);
php_libxml_decrement_doc_ref(wrapper);
} else {
if (nodeptr->node != NULL && nodeptr->node->type != XML_DOCUMENT_NODE) {
nodeptr->node->_private = NULL;