diff options
author | rsk1994 <rsk1coder99@gmail.com> | 2014-05-31 09:07:42 +0530 |
---|---|---|
committer | Rupinder Singh Khokhar <rsk1coder99@gmail.com> | 2014-06-21 17:37:14 +0530 |
commit | 72287add78150033d00afd813bb6f5b0c6dee907 (patch) | |
tree | 2a08ed8f45d8cdc59b9cd390d67c1b8f1f02b070 /src/html/html_tablecell_element.c | |
parent | e068e60c5683853d0315e0df8ed045358d97b225 (diff) | |
download | libdom-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.c | 19 |
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; } } } |