summaryrefslogtreecommitdiff
path: root/src/core
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
commitfd7fd7398969404740b5c70e5fd66681d8ac5342 (patch)
treeced0092c433778cc0fbf765980068663f6f7822e /src/core
parent5869107e6d28503ad01be3071667737b60fcb559 (diff)
downloadlibdom-fd7fd7398969404740b5c70e5fd66681d8ac5342.tar.gz
libdom-fd7fd7398969404740b5c70e5fd66681d8ac5342.tar.bz2
Minor improvement by short-circuiting for no classes in _dom_element_has_class
svn path=/trunk/libdom/; revision=13725
Diffstat (limited to 'src/core')
-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)