#Do I need to deinit arrays/buffers if I work on memory arena, that I reset anyway at the end?

1 messages ยท Page 1 of 1 (latest)

pearl fractal
#

Thank for answer ๐Ÿ™‚
MY code:

if (maybe_uuid) |uuid| {
            // std.debug.print("UUID: {s}\n", .{uuid});
            const maybe_vast_tag  = context.vast_repository.get(uuid);
            if (maybe_vast_tag) |vast_tag| {
                // std.debug.print("Found tag!\n", .{});
                var output_buffer = std.ArrayList(u8).init(allocator);
                const output_writer = output_buffer.writer();
                var query_params_iterator = r.getParamSlices();
                                
                const is_gzip_supported = self._is_gzip_supported(r.getHeader("Accept-Encoding"));
                if (is_gzip_supported) {
                    var compressor = try std.compress.gzip.compressor(output_writer, .{.level = .level_6});
                    try vast_tag.render(
                        &query_params_iterator,
                        compressor.writer()
                    );
                    try compressor.finish();
                } else {
                    try vast_tag.render(
                        &query_params_iterator,
                        output_writer
                    );
                }
                // std.debug.print("\n{s}\n", .{rendered_tag});
                try r.sendBody(
                    output_buffer.items
                );
                r.setStatus(.ok);
                return;
            }
        }

i do not call deinit of anything right now, cus zap reset arena allocator anyway, is it ok?