diff --git a/src/document/xml/renderer2.c b/src/document/xml/renderer2.c index 74e647e80..002355ba5 100644 --- a/src/document/xml/renderer2.c +++ b/src/document/xml/renderer2.c @@ -218,9 +218,11 @@ element: #define HTML_MAX_DOM_STRUCTURE_DEPTH 1024 -static bool -dump_dom_structure(struct source_renderer *renderer, xmlpp::Node *node, int depth) +bool +dump_dom_structure(struct source_renderer *renderer, void *nod, int depth) { + xmlpp::Node *node = nod; + if (depth >= HTML_MAX_DOM_STRUCTURE_DEPTH) { return false; } diff --git a/src/document/xml/renderer2.h b/src/document/xml/renderer2.h index 08c651ebe..ee3acb22a 100644 --- a/src/document/xml/renderer2.h +++ b/src/document/xml/renderer2.h @@ -9,6 +9,7 @@ struct cache_entry; struct document; struct string; +bool dump_dom_structure(struct source_renderer *renderer, void *nod, int depth); void render_xhtml_document(struct cache_entry *cached, struct document *document, struct string *buffer); diff --git a/src/document/xml/tables.c b/src/document/xml/tables.c index 18873a582..25b4ab04b 100644 --- a/src/document/xml/tables.c +++ b/src/document/xml/tables.c @@ -27,6 +27,7 @@ #include "document/html/renderer.h" #include "document/html/tables.h" #include "document/options.h" +#include "document/xml/renderer2.h" #include "document/xml/tables.h" #include "document/xml/tags.h" #include "globhist/globhist.h" @@ -826,6 +827,15 @@ static void tags_draw_table_bad_html(struct source_renderer *renderer, struct table *table) { struct html_context *html_context = renderer->html_context; + int i; + + for (i = 0; i < table->bad_html_size; i++) { + struct html_start_end *html = &table->bad_html[i]; + void *start_node = html->start_node; + void *end_node = html->end_node; + + dump_dom_structure(renderer, start_node, 0); + } } void