summaryrefslogtreecommitdiff
path: root/javascript
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2015-10-12 19:51:13 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2015-10-12 19:51:13 +0100
commitb8ea788aba7605233b25f14a48da1662b630e035 (patch)
tree543ea25ef745ee36b5d8eb018cf50692c12c449b /javascript
parentce321410577f384e19042ea20b30ed6cbb00eda2 (diff)
downloadnetsurf-b8ea788aba7605233b25f14a48da1662b630e035.tar.gz
netsurf-b8ea788aba7605233b25f14a48da1662b630e035.tar.bz2
Ensure the cause of the problem is logged when an htmlc has no parser.
Diffstat (limited to 'javascript')
-rw-r--r--javascript/duktape/Document.bnd35
1 files changed, 20 insertions, 15 deletions
diff --git a/javascript/duktape/Document.bnd b/javascript/duktape/Document.bnd
index 14412cdfa..cffff88a3 100644
--- a/javascript/duktape/Document.bnd
+++ b/javascript/duktape/Document.bnd
@@ -38,16 +38,18 @@ method Document::write()
err = dom_node_get_user_data(priv->parent.node,
corestring_dom___ns_key_html_content_data,
&htmlc);
- if ((err == DOM_NO_ERR) &&
- (htmlc != NULL) &&
- (htmlc->parser != NULL)) {
- dom_hubbub_parser_insert_chunk(htmlc->parser,
- (uint8_t *)text,
- text_len);
- } else {
+ if ((err != DOM_NO_ERR) || (htmlc == NULL)) {
LOG("error getting htmlc. parent node:%p htmlc:%p",
- priv->parent.node, htmlc);
+ priv->parent.node, htmlc);
+ return 0;
+ } else if (htmlc->parser == NULL) {
+ LOG("error; no parser for htmlc: %p", htmlc);
+ return 0;
}
+
+ dom_hubbub_parser_insert_chunk(htmlc->parser,
+ (uint8_t *)text, text_len);
+
return 0;
%}
@@ -69,15 +71,18 @@ method Document::writeln()
err = dom_node_get_user_data(priv->parent.node,
corestring_dom___ns_key_html_content_data,
&htmlc);
- if ((err == DOM_NO_ERR) &&
- (htmlc != NULL) &&
- (htmlc->parser != NULL)) {
- dom_hubbub_parser_insert_chunk(htmlc->parser, (uint8_t *)text, text_len);
- dom_hubbub_parser_insert_chunk(htmlc->parser, (uint8_t *)nl, SLEN(nl));
- } else {
+ if ((err != DOM_NO_ERR) || (htmlc == NULL)) {
LOG("error getting htmlc. parent node:%p htmlc:%p",
- priv->parent.node, htmlc);
+ priv->parent.node, htmlc);
+ return 0;
+ } else if (htmlc->parser == NULL) {
+ LOG("error; no parser for htmlc: %p", htmlc);
+ return 0;
}
+
+ dom_hubbub_parser_insert_chunk(htmlc->parser, (uint8_t *)text, text_len);
+ dom_hubbub_parser_insert_chunk(htmlc->parser, (uint8_t *)nl, SLEN(nl));
+
return 0;
%}