From c576ba06023fd9d2addaf1cb0b372dc260da1a33 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 25 Jan 2024 20:12:22 -0500 Subject: [PATCH] src/svgtiny_css.c: fix lwc/dom string comparison in node_has_name() The node_has_name() function was calling lwc_string_isequal() to test the universal selector (a dom_string) against the given node name (an lwc_string). Instead, it should be using dom_string_lwc_isequal(), which is designed to do exactly that. Thanks to Michael Drake for the suggestion. --- src/svgtiny_css.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/svgtiny_css.c b/src/svgtiny_css.c index 7e203a2..6eefd87 100644 --- a/src/svgtiny_css.c +++ b/src/svgtiny_css.c @@ -649,15 +649,13 @@ css_error node_has_name(void *pw, void *node, /* Start by checking to see if qname is the universal selector */ state = (struct svgtiny_parse_state *)pw; - if (lwc_string_isequal(qname->name, - state->interned_universal, match) == lwc_error_ok) { - if (*match) { + *match = dom_string_lwc_isequal(state->interned_universal, qname->name); + if (*match) { /* It's the universal selector. In NetSurf, all node * names match the universal selector, and nothing in * the libcss documentation suggests another approach, * so we follow NetSurf here. */ return CSS_OK; - } } err = dom_node_get_node_name((dom_node *)node, &name); -- 2.44.2