This patch to Document/bnd makes the Javascript writeln() function
work as well as write().

diff --git a/javascript/duktape/Document.bnd b/javascript/duktape/Document.bnd
index 6d11ea9..ee5d7af 100644
--- a/javascript/duktape/Document.bnd
+++ b/javascript/duktape/Document.bnd
@@ -37,6 +37,27 @@ method Document::write()
        return 0;
 %}
 
+method Document::writeln()
+%{
+       const char br[] = "<br>";
+       struct html_content *htmlc;
+       duk_size_t text_len;
+       for (int i = 0; i < duk_get_top(ctx); ++i)
+               duk_safe_to_string(ctx, i);
+       duk_concat(ctx, duk_get_top(ctx));
+       const char *text = duk_safe_to_lstring(ctx, 0, &text_len);
+       LOG("Writeln %*s", (int)text_len, text);
+       dom_exception err;
+       err = dom_node_get_user_data(priv->parent.node,
+                                    corestring_dom___ns_key_html_content_data,
+                                    &htmlc);
+       if (err == DOM_NO_ERR && htmlc->parser != NULL) {
+               dom_hubbub_parser_insert_chunk(htmlc->parser, (uint8_t *)text, 
text_len);
+               dom_hubbub_parser_insert_chunk(htmlc->parser, (uint8_t *)br, 
strlen(br));
+       }
+       return 0;
+%}
+
 method Document::createTextNode()
 %{
        dom_node *newnode;

Hope this helps.

Dave

____________________________________________________________
Share photos & screenshots in seconds...
TRY FREE IM TOOLPACK at http://www.imtoolpack.com/default.aspx?rc=if1
Works in all emails, instant messengers, blogs, forums and social networks.

Reply via email to