summaryrefslogtreecommitdiff
path: root/src/html/html_tablecell_element.c
diff options
context:
space:
mode:
authorrsk1994 <rsk1coder99@gmail.com>2014-05-31 09:07:42 +0530
committerRupinder Singh Khokhar <rsk1coder99@gmail.com>2014-06-21 17:37:14 +0530
commit72287add78150033d00afd813bb6f5b0c6dee907 (patch)
tree2a08ed8f45d8cdc59b9cd390d67c1b8f1f02b070 /src/html/html_tablecell_element.c
parente068e60c5683853d0315e0df8ed045358d97b225 (diff)
downloadlibdom-72287add78150033d00afd813bb6f5b0c6dee907.tar.gz
libdom-72287add78150033d00afd813bb6f5b0c6dee907.tar.bz2
tableSectionElement Rev.2 && tableCellElement Rev.4 && tableElement Rev.1 && tableRowElement Rev.1 && DOMTSHandler(Test Suite) Revised and implemented inefficient ways to produce correct .c's && other minor bg fixes in HTMLCollection... Tests expecting 2nd attribute of dom_html_collection_get_length to be of type int32_t aren't enabled yet. Will be done in a later commit.
Diffstat (limited to 'src/html/html_tablecell_element.c')
-rw-r--r--src/html/html_tablecell_element.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/html/html_tablecell_element.c b/src/html/html_tablecell_element.c
index f8eaf01..cc596c1 100644
--- a/src/html/html_tablecell_element.c
+++ b/src/html/html_tablecell_element.c
@@ -191,6 +191,7 @@ dom_exception dom_html_table_cell_element_get_cell_index(
}
n = n->parent;
}
+ dom_node_internal *root = n;
while(n != NULL) {
if(n == (dom_node_internal *)table_cell) {
break;
@@ -207,18 +208,16 @@ dom_exception dom_html_table_cell_element_get_cell_index(
} else {
/* No children and siblings */
struct dom_node_internal *parent = n->parent;
-
- while (parent !=NULL) {
- if(n == parent->last_child) {
- n = parent;
- parent = parent->parent;
- } else {
- break;
- }
-
+ while (n == parent->last_child &&
+ n != root) {
+ n = parent;
+ parent = parent->parent;
}
- if(parent == NULL) {
+
+ if(n == root) {
n = NULL;
+ } else {
+ n = n->next;
}
}
}