diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2012-03-26 18:08:18 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2012-03-26 18:08:18 +0000 |
commit | 2bda4d829bd8eb288ad4ab4d6e0805c63045d657 (patch) | |
tree | ced0092c433778cc0fbf765980068663f6f7822e /src/core | |
parent | 73c87c6681edc1a1e53a6e30b350e22844c6cb12 (diff) | |
download | libdom-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
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/element.c | 11 |
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) |