From c615aeed5f227fb970f5ed700001e527be01b7db Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 18 Feb 2023 12:51:19 -0600 Subject: [PATCH] switching branches --- compiler/src/doc.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/compiler/src/doc.c b/compiler/src/doc.c index cf10c845..8c92a20f 100644 --- a/compiler/src/doc.c +++ b/compiler/src/doc.c @@ -205,11 +205,23 @@ struct Doc { typedef struct DocGenerator { - + bh_buffer string_buffer; } DocGenerator; +void doc_gen_init(DocGenerator *gen) { + bh_buffer_init(&gen->string_buffer, global_heap_allocator, 256); +} + +void doc_gen_deinit(DocGenerator *gen) { + bh_buffer_free(&gen->string_buffer); +} + u32 doc_gen_add_string(DocGenerator *gen, char *data, u32 len) { + u32 offset = gen->string_buffer.length; + + bh_buffer_append(&gen->string_buffer, data, len); + return offset; } void onyx_docs_emit_odoc(const char *dest) { @@ -220,6 +232,7 @@ void onyx_docs_emit_odoc(const char *dest) { } DocGenerator gen; + doc_gen_init(&gen); struct Doc final_doc; @@ -243,6 +256,8 @@ void onyx_docs_emit_odoc(const char *dest) { final_doc.files.length = 0; bh_file_write(&doc_file, &final_doc, sizeof(struct Doc)); + + doc_gen_deinit(&gen); bh_file_close(&doc_file); } -- 2.25.1