From 0ed384eb1c7486659b75ea7e69af9ae9c36de465 Mon Sep 17 00:00:00 2001 From: Relintai Date: Tue, 21 Mar 2023 21:22:36 +0100 Subject: [PATCH] Fix handling utf-8 in the MarkdownRenderer. --- modules/web/html/markdown_renderer.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/web/html/markdown_renderer.cpp b/modules/web/html/markdown_renderer.cpp index 74a497687..9ad364b49 100644 --- a/modules/web/html/markdown_renderer.cpp +++ b/modules/web/html/markdown_renderer.cpp @@ -111,20 +111,21 @@ String MarkdownRenderer::render_to_html(const String &markdown) { hoedown_document *document = hoedown_document_new(renderer, static_cast(hoedown_ext_flags), _max_nesting); - hoedown_buffer *html = hoedown_buffer_new(16); + //#define DEF_IUNIT 1024 + hoedown_buffer *html = hoedown_buffer_new(1024); CharString csmd = markdown.utf8(); hoedown_document_render(document, html, reinterpret_cast(csmd.get_data()), csmd.length()); - String html_str = reinterpret_cast(html->data); + String html_str = String::utf8(reinterpret_cast(html->data)); if (_use_smartypants) { CharString cshtml = html_str.utf8(); hoedown_html_smartypants(html, reinterpret_cast(cshtml.get_data()), cshtml.length()); - html_str = reinterpret_cast(html->data); + html_str = String::utf8(reinterpret_cast(html->data)); } hoedown_buffer_free(html);