summaryrefslogtreecommitdiff
path: root/bindings/hubbub/parser.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2012-07-31 12:48:21 +0100
committerVincent Sanders <vince@netsurf-browser.org>2012-07-31 12:48:21 +0100
commit6aedb99d8efddb2e3d7db18560ea671424ad8854 (patch)
treebeb06a0f8c45f667a6195e4a26f5711288d3d823 /bindings/hubbub/parser.c
parentaceae56f9efb6cbf82c399de3b6c360d3650d15c (diff)
downloadlibdom-6aedb99d8efddb2e3d7db18560ea671424ad8854.tar.gz
libdom-6aedb99d8efddb2e3d7db18560ea671424ad8854.tar.bz2
fix error handling return from script completion calback
Diffstat (limited to 'bindings/hubbub/parser.c')
-rw-r--r--bindings/hubbub/parser.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/bindings/hubbub/parser.c b/bindings/hubbub/parser.c
index 6299da5..9423c2c 100644
--- a/bindings/hubbub/parser.c
+++ b/bindings/hubbub/parser.c
@@ -633,11 +633,16 @@ static hubbub_error complete_script(void *parser, void *script)
dom_hubbub_error err;
err = dom_parser->script(dom_parser->mctx, (struct dom_node *)script);
- if (err != DOM_HUBBUB_OK) {
- return HUBBUB_UNKNOWN;
+
+ if (err == DOM_HUBBUB_OK) {
+ return HUBBUB_OK;
}
- return HUBBUB_OK;
+ if ((err & DOM_HUBBUB_HUBBUB_ERR) != 0) {
+ return err & (~DOM_HUBBUB_HUBBUB_ERR);
+ }
+
+ return HUBBUB_UNKNOWN;
}
static hubbub_tree_handler tree_handler = {