From 631f016a9ccff344f4dcb0b57e8ef1cf275e175c Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Mon, 5 Jul 2021 14:54:02 +0100 Subject: Element: Change API to return a reference to callers. --- src/core/element.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/core/element.c b/src/core/element.c index 66d0390..05dc8c6 100644 --- a/src/core/element.c +++ b/src/core/element.c @@ -1232,12 +1232,11 @@ dom_exception _dom_element_has_class(struct dom_element *element, /** * Get a named ancestor node * - * If the caller wants to keep the returned node around, it must take its - * own ref. This call returns a borrow. + * The caller is responsible for unreffing the returned node. * * \param element Element to consider * \param name Node name to look for - * \param parent Pointer to location to receive borrowed node pointer + * \param ancestor Pointer to location to receive node. * \return DOM_NO_ERR. */ dom_exception dom_element_named_ancestor_node(dom_element *element, @@ -1254,7 +1253,7 @@ dom_exception dom_element_named_ancestor_node(dom_element *element, assert(node->name != NULL); if (dom_string_caseless_lwc_isequal(node->name, name)) { - *ancestor = (dom_element *)node; + *ancestor = (dom_element *)dom_node_ref(node); break; } } @@ -1265,12 +1264,11 @@ dom_exception dom_element_named_ancestor_node(dom_element *element, /** * Get a named parent node * - * If the caller wants to keep the returned node around, it must take its - * own ref. This call returns a borrow. + * The caller is responsible for unreffing the returned node. * * \param element Element to consider * \param name Node name to look for - * \param parent Pointer to location to receive borrowed node pointer + * \param parent Pointer to location to receive node pointer * \return DOM_NO_ERR. */ dom_exception dom_element_named_parent_node(dom_element *element, @@ -1287,7 +1285,7 @@ dom_exception dom_element_named_parent_node(dom_element *element, assert(node->name != NULL); if (dom_string_caseless_lwc_isequal(node->name, name)) { - *parent = (dom_element *)node; + *parent = (dom_element *)dom_node_ref(node); } break; } @@ -1298,12 +1296,11 @@ dom_exception dom_element_named_parent_node(dom_element *element, /** * Get a named parent node * - * If the caller wants to keep the returned node around, it must take its - * own ref. This call returns a borrow. + * The caller is responsible for unreffing the returned node. * * \param element Element to consider * \param name Node name to look for - * \param parent Pointer to location to receive borrowed node pointer + * \param parent Pointer to location to receive node pointer * \return DOM_NO_ERR. */ dom_exception dom_element_parent_node(dom_element *element, @@ -1317,7 +1314,7 @@ dom_exception dom_element_parent_node(dom_element *element, if (node->type != DOM_ELEMENT_NODE) continue; - *parent = (dom_element *)node; + *parent = (dom_element *)dom_node_ref(node); break; } -- cgit v1.2.3