From 46f01e5286b0136234ee86a20d7a69936d392ecd Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Wed, 4 Oct 2023 18:20:12 +0200 Subject: [PATCH] netsurf: expose documentHTMLClose func --- src/main.zig | 2 +- src/main_shell.zig | 2 +- src/netsurf.zig | 5 +++++ src/run_tests.zig | 2 ++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main.zig b/src/main.zig index 93746f78..8ddd237b 100644 --- a/src/main.zig +++ b/src/main.zig @@ -54,7 +54,7 @@ pub fn main() !void { // document doc = parser.documentHTMLParse("test.html"); - // TODO: defer doc? + defer parser.documentHTMLClose(doc); // remove socket file of internal server // reuse_address (SO_REUSEADDR flag) does not seems to work on unix socket diff --git a/src/main_shell.zig b/src/main_shell.zig index aae3d3a5..26227062 100644 --- a/src/main_shell.zig +++ b/src/main_shell.zig @@ -33,7 +33,7 @@ pub fn main() !void { // document doc = parser.documentHTMLParse("test.html"); - // TODO: defer doc? + defer parser.documentHTMLClose(doc); // create JS vm const vm = jsruntime.VM.init(); diff --git a/src/netsurf.zig b/src/netsurf.zig index 10f79a36..8843de9e 100644 --- a/src/netsurf.zig +++ b/src/netsurf.zig @@ -562,6 +562,11 @@ pub fn documentHTMLParse(filename: []const u8) *DocumentHTML { return @as(*DocumentHTML, @ptrCast(doc.?)); } +// documentHTMLClose closes the document. +pub fn documentHTMLClose(doc: *DocumentHTML) void { + _ = documentHTMLVtable(doc).close.?(doc); +} + pub inline fn documentHTMLToDocument(doc_html: *DocumentHTML) *Document { return @as(*Document, @ptrCast(doc_html)); } diff --git a/src/run_tests.zig b/src/run_tests.zig index a1899792..12137743 100644 --- a/src/run_tests.zig +++ b/src/run_tests.zig @@ -39,6 +39,8 @@ test { // document doc = parser.documentHTMLParse("test.html"); + defer parser.documentHTMLClose(doc); + // create JS vm const vm = jsruntime.VM.init();