summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_caption.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/treebuilder/in_caption.c')
-rw-r--r--src/treebuilder/in_caption.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/treebuilder/in_caption.c b/src/treebuilder/in_caption.c
index 6e6eb6a..24f30e4 100644
--- a/src/treebuilder/in_caption.c
+++ b/src/treebuilder/in_caption.c
@@ -40,7 +40,7 @@ hubbub_error handle_in_caption(hubbub_treebuilder *treebuilder,
err = HUBBUB_REPROCESS;
} else {
/* Process as if "in body" */
- handle_in_body(treebuilder, token);
+ err = handle_in_body(treebuilder, token);
}
}
break;
@@ -61,7 +61,7 @@ hubbub_error handle_in_caption(hubbub_treebuilder *treebuilder,
/** \todo parse error */
} else {
/* Process as if "in body" */
- handle_in_body(treebuilder, token);
+ err = handle_in_body(treebuilder, token);
}
}
break;
@@ -70,12 +70,13 @@ hubbub_error handle_in_caption(hubbub_treebuilder *treebuilder,
case HUBBUB_TOKEN_DOCTYPE:
case HUBBUB_TOKEN_EOF:
/* Process as if "in body" */
- handle_in_body(treebuilder, token);
+ err = handle_in_body(treebuilder, token);
break;
}
if (handled || err == HUBBUB_REPROCESS) {
+ hubbub_error e;
hubbub_ns ns;
element_type otype = UNKNOWN;
void *node;
@@ -84,14 +85,11 @@ hubbub_error handle_in_caption(hubbub_treebuilder *treebuilder,
close_implied_end_tags(treebuilder, UNKNOWN);
-
while (otype != CAPTION) {
/** \todo parse error */
- if (!element_stack_pop(treebuilder, &ns, &otype,
- &node)) {
- /** \todo errors */
- }
+ e = element_stack_pop(treebuilder, &ns, &otype, &node);
+ assert(e == HUBBUB_OK);
treebuilder->tree_handler->unref_node(
treebuilder->tree_handler->ctx,