Introduce deinitIfExists utility and replace deinitIfLive for optional resource cleanup in main.zig.

This commit is contained in:
2026-08-02 23:41:15 +02:00
parent 88d312e713
commit 0a7ad2662c
2 changed files with 90 additions and 14 deletions

View File

@@ -28,11 +28,10 @@ pub fn main(init: std.process.Init) !void
const allocator = if (debug) gpa.allocator() else std.heap.smp_allocator;
var tmp_arena = std.heap.ArenaAllocator.init(allocator);
var arena_live = true;
errdefer _ = zocket.memory.deinitIfLive(&tmp_arena, &arena_live);
var tmp_arena: ?std.heap.ArenaAllocator = .init(allocator);
errdefer _ = zocket.memory.deinitIfExists(&tmp_arena);
const tmp_allocator = tmp_arena.allocator();
const tmp_allocator = tmp_arena.?.allocator();
var parser = try args.ArgumentParser.init(tmp_allocator, .{
.name = "zocket",
@@ -61,7 +60,7 @@ pub fn main(init: std.process.Init) !void
break :path try allocator.dupe(u8, tmp_path);
};
_ = zocket.memory.deinitIfLive(&tmp_arena, &arena_live);
_ = zocket.memory.deinitIfExists(&tmp_arena);
try run(io, allocator, path);
}