summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_caption.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-04-15 11:02:53 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-04-15 11:02:53 +0000
commitb50dc50a2b25c7cc77843b25adc41575cfce7fd6 (patch)
tree68d81123fda9d7df3aa15375e12ea034896a1c87 /src/treebuilder/in_caption.c
parent051158ffe97eb9b4a1a4b9b5ea719c7e38509200 (diff)
downloadlibhubbub-b50dc50a2b25c7cc77843b25adc41575cfce7fd6.tar.gz
libhubbub-b50dc50a2b25c7cc77843b25adc41575cfce7fd6.tar.bz2
Manually merge r7070 into trunk
svn path=/trunk/hubbub/; revision=7082
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,