summaryrefslogtreecommitdiff
path: root/src/NormData.zig
diff options
context:
space:
mode:
authorGravatar Jose Colon Rodriguez2024-03-28 10:06:00 -0400
committerGravatar Jose Colon Rodriguez2024-03-28 10:06:00 -0400
commit74be85ac145cc6de5d03348e07be8d982c2211cb (patch)
treeb3b5f2080235e5cf73d2be080fb70583567dfb2b /src/NormData.zig
parentScriptsData and made all Datas const (diff)
downloadzg-74be85ac145cc6de5d03348e07be8d982c2211cb.tar.gz
zg-74be85ac145cc6de5d03348e07be8d982c2211cb.tar.xz
zg-74be85ac145cc6de5d03348e07be8d982c2211cb.zip
PropsData and errdefers for init fns
Diffstat (limited to 'src/NormData.zig')
-rw-r--r--src/NormData.zig31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/NormData.zig b/src/NormData.zig
index 413619a..7ffe679 100644
--- a/src/NormData.zig
+++ b/src/NormData.zig
@@ -8,25 +8,30 @@ const FoldData = @import("FoldData");
8const HangulData = @import("HangulData"); 8const HangulData = @import("HangulData");
9const NormPropsData = @import("NormPropsData"); 9const NormPropsData = @import("NormPropsData");
10 10
11canon_data: CanonData, 11canon_data: CanonData = undefined,
12ccc_data: CccData, 12ccc_data: CccData = undefined,
13compat_data: CompatData, 13compat_data: CompatData = undefined,
14hangul_data: HangulData, 14hangul_data: HangulData = undefined,
15normp_data: NormPropsData, 15normp_data: NormPropsData = undefined,
16 16
17const Self = @This(); 17const Self = @This();
18 18
19pub fn init(allocator: std.mem.Allocator) !Self { 19pub fn init(allocator: std.mem.Allocator) !Self {
20 return Self{ 20 var self = Self{};
21 .canon_data = try CanonData.init(allocator), 21 self.canon_data = try CanonData.init(allocator);
22 .ccc_data = try CccData.init(allocator), 22 errdefer self.canon_data.deinit();
23 .compat_data = try CompatData.init(allocator), 23 self.ccc_data = try CccData.init(allocator);
24 .hangul_data = try HangulData.init(allocator), 24 errdefer self.ccc_data.deinit();
25 .normp_data = try NormPropsData.init(allocator), 25 self.compat_data = try CompatData.init(allocator);
26 }; 26 errdefer self.compat_data.deinit();
27 self.hangul_data = try HangulData.init(allocator);
28 errdefer self.hangul_data.deinit();
29 self.normp_data = try NormPropsData.init(allocator);
30
31 return self;
27} 32}
28 33
29pub fn deinit(self: *const Self) void { 34pub fn deinit(self: *Self) void {
30 self.canon_data.deinit(); 35 self.canon_data.deinit();
31 self.ccc_data.deinit(); 36 self.ccc_data.deinit();
32 self.compat_data.deinit(); 37 self.compat_data.deinit();