diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2012-07-31 12:48:21 +0100 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2012-07-31 12:48:21 +0100 |
commit | 6aedb99d8efddb2e3d7db18560ea671424ad8854 (patch) | |
tree | beb06a0f8c45f667a6195e4a26f5711288d3d823 /bindings | |
parent | aceae56f9efb6cbf82c399de3b6c360d3650d15c (diff) | |
download | libdom-6aedb99d8efddb2e3d7db18560ea671424ad8854.tar.gz libdom-6aedb99d8efddb2e3d7db18560ea671424ad8854.tar.bz2 |
fix error handling return from script completion calback
Diffstat (limited to 'bindings')
-rw-r--r-- | bindings/hubbub/parser.c | 11 |
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 = { |