diff options
Diffstat (limited to 'src/html/html_tablesection_element.c')
-rw-r--r-- | src/html/html_tablesection_element.c | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c index d570e1c..1ffe102 100644 --- a/src/html/html_tablesection_element.c +++ b/src/html/html_tablesection_element.c @@ -113,10 +113,39 @@ void _dom_virtual_html_table_section_element_destroy(dom_node_internal *node) } /* The virtual copy function, see src/core/node.c for detail */ -dom_exception _dom_html_table_section_element_copy(dom_node_internal *old, - dom_node_internal **copy) +dom_exception _dom_html_table_section_element_copy( + dom_node_internal *old, dom_node_internal **copy) { - return _dom_html_element_copy(old, copy); + dom_html_table_section_element *new_node; + dom_exception err; + + new_node = malloc(sizeof(dom_html_table_section_element)); + if (new_node == NULL) + return DOM_NO_MEM_ERR; + + err = dom_html_table_section_element_copy_internal(old, new_node); + if (err != DOM_NO_ERR) { + free(new_node); + return err; + } + + *copy = (dom_node_internal *) new_node; + + return DOM_NO_ERR; +} + +dom_exception _dom_html_table_section_element_copy_internal( + dom_html_table_section_element *old, + dom_html_table_section_element *new) +{ + dom_exception err; + + err = dom_html_element_copy_internal(old, new); + if (err != DOM_NO_ERR) { + return err; + } + + return DOM_NO_ERR; } /*-----------------------------------------------------------------------*/ @@ -164,7 +193,7 @@ SIMPLE_GET_SET(ch_off); SIMPLE_GET_SET(v_align); /* The callback function for _dom_html_collection_create*/ -bool table_section_callback(struct dom_node_internal *node, void *ctx) +static bool table_section_callback(struct dom_node_internal *node, void *ctx) { dom_html_document *doc = ctx; if(node->type == DOM_ELEMENT_NODE && |