From 580b12b111510a69968430c3f53873ad9385bad9 Mon Sep 17 00:00:00 2001 From: Lyssieth Date: Fri, 6 Dec 2024 08:31:55 +0200 Subject: [PATCH] Put TrackedString to use --- src/log/logging.zig | 14 ++++++++------ src/util/trackedString.zig | 14 +++++++------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/log/logging.zig b/src/log/logging.zig index 9e9b0c4..f8de18f 100644 --- a/src/log/logging.zig +++ b/src/log/logging.zig @@ -1,6 +1,8 @@ const std = @import("std"); const cham = @import("chameleon"); +const TrackedString = @import("../util/trackedString.zig").TrackedString; + const log = std.log; pub const Level = log.Level; @@ -18,10 +20,10 @@ pub const Color = enum { }; pub const ScopeModifier = struct { - scope: []const u8, + scope: TrackedString, color: ?Color = .default, bright: bool = false, - rename: ?[]const u8 = null, + rename: ?TrackedString = null, }; const Allocator = std.mem.Allocator; @@ -58,12 +60,12 @@ const Globals = struct { file.close(); } - for (self.additionalScopes.items) |modifier| { - if (modifier.rename) |value| { - self.allocator.free(value); + for (self.additionalScopes.items) |*modifier| { + if (modifier.*.rename) |*value| { + value.deinit(); } - self.allocator.free(modifier.scope); + modifier.*.scope.deinit(); } self.additionalScopes.deinit(); diff --git a/src/util/trackedString.zig b/src/util/trackedString.zig index 2474395..0c9a364 100644 --- a/src/util/trackedString.zig +++ b/src/util/trackedString.zig @@ -18,17 +18,17 @@ pub const TrackedString = struct { }; } - pub fn deinit(self: TrackedString) void { - switch (self.kind) { + pub fn deinit(self: *TrackedString) void { + switch (self.*.kind) { .Constant => { - self.value = undefined; - self.kind = .{ .Dead = {} }; + self.*.data = undefined; + self.*.kind = .{ .Dead = {} }; }, .Allocated => |allocator| { - allocator.free(self.value); - self.value = undefined; - self.kind = .{ .Dead = {} }; + allocator.free(self.data); + self.*.data = undefined; + self.*.kind = .{ .Dead = {} }; }, .Dead => {},