summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2012-03-26 18:08:18 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2012-03-26 18:08:18 +0000
commit2bda4d829bd8eb288ad4ab4d6e0805c63045d657 (patch)
treeced0092c433778cc0fbf765980068663f6f7822e
parent73c87c6681edc1a1e53a6e30b350e22844c6cb12 (diff)
downloadlibdom-2bda4d829bd8eb288ad4ab4d6e0805c63045d657.tar.gz
libdom-2bda4d829bd8eb288ad4ab4d6e0805c63045d657.tar.bz2
Minor improvement by short-circuiting for no classes in _dom_element_has_class
svn path=/trunk/libdom/; revision=13725
-rw-r--r--src/core/element.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/core/element.c b/src/core/element.c
index baf5533..fbb2388 100644
--- a/src/core/element.c
+++ b/src/core/element.c
@@ -1192,10 +1192,13 @@ dom_exception _dom_element_has_class(struct dom_element *element,
dom_exception err;
unsigned int class;
struct dom_node_internal *node = (struct dom_node_internal *)element;
- dom_document_quirks_mode quirks_mode =
- DOM_DOCUMENT_QUIRKS_MODE_NONE;
-
- *match = false;
+ dom_document_quirks_mode quirks_mode;
+
+ /* Short-circuit case where we have no classes */
+ if (element->n_classes == 0) {
+ *match = false;
+ return DOM_NO_ERR;
+ }
err = dom_document_get_quirks_mode(node->owner, &quirks_mode);
if (err != DOM_NO_ERR)