diff options
| author | 2024-10-20 12:09:34 +0000 | |
|---|---|---|
| committer | 2024-10-20 12:09:34 +0000 | |
| commit | 70d17ea7aab18178a5f5ffa120229151a8f943e6 (patch) | |
| tree | 07ab43f86fa96c93c275b4b90d685a9ef31d3865 /src | |
| parent | Fixed benchmark duration printing (diff) | |
| parent | WidthData: define error set as mem.Allocator.Error (diff) | |
| download | zg-70d17ea7aab18178a5f5ffa120229151a8f943e6.tar.gz zg-70d17ea7aab18178a5f5ffa120229151a8f943e6.tar.xz zg-70d17ea7aab18178a5f5ffa120229151a8f943e6.zip | |
Merge pull request 'GraphemeData and WidthData: make init read errors unreachable and define return errorset' (#16) from rockorager/zg:master into master
Reviewed-on: https://codeberg.org/dude_the_builder/zg/pulls/16
Diffstat (limited to 'src')
| -rw-r--r-- | src/GraphemeData.zig | 14 | ||||
| -rw-r--r-- | src/WidthData.zig | 10 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/GraphemeData.zig b/src/GraphemeData.zig index 0ed79f2..de98bde 100644 --- a/src/GraphemeData.zig +++ b/src/GraphemeData.zig | |||
| @@ -37,7 +37,7 @@ s3: []u8 = undefined, | |||
| 37 | 37 | ||
| 38 | const Self = @This(); | 38 | const Self = @This(); |
| 39 | 39 | ||
| 40 | pub fn init(allocator: mem.Allocator) !Self { | 40 | pub fn init(allocator: mem.Allocator) mem.Allocator.Error!Self { |
| 41 | const decompressor = compress.flate.inflate.decompressor; | 41 | const decompressor = compress.flate.inflate.decompressor; |
| 42 | const in_bytes = @embedFile("gbp"); | 42 | const in_bytes = @embedFile("gbp"); |
| 43 | var in_fbs = std.io.fixedBufferStream(in_bytes); | 43 | var in_fbs = std.io.fixedBufferStream(in_bytes); |
| @@ -48,20 +48,20 @@ pub fn init(allocator: mem.Allocator) !Self { | |||
| 48 | 48 | ||
| 49 | var self = Self{ .allocator = allocator }; | 49 | var self = Self{ .allocator = allocator }; |
| 50 | 50 | ||
| 51 | const s1_len: u16 = try reader.readInt(u16, endian); | 51 | const s1_len: u16 = reader.readInt(u16, endian) catch unreachable; |
| 52 | self.s1 = try allocator.alloc(u16, s1_len); | 52 | self.s1 = try allocator.alloc(u16, s1_len); |
| 53 | errdefer allocator.free(self.s1); | 53 | errdefer allocator.free(self.s1); |
| 54 | for (0..s1_len) |i| self.s1[i] = try reader.readInt(u16, endian); | 54 | for (0..s1_len) |i| self.s1[i] = reader.readInt(u16, endian) catch unreachable; |
| 55 | 55 | ||
| 56 | const s2_len: u16 = try reader.readInt(u16, endian); | 56 | const s2_len: u16 = reader.readInt(u16, endian) catch unreachable; |
| 57 | self.s2 = try allocator.alloc(u16, s2_len); | 57 | self.s2 = try allocator.alloc(u16, s2_len); |
| 58 | errdefer allocator.free(self.s2); | 58 | errdefer allocator.free(self.s2); |
| 59 | for (0..s2_len) |i| self.s2[i] = try reader.readInt(u16, endian); | 59 | for (0..s2_len) |i| self.s2[i] = reader.readInt(u16, endian) catch unreachable; |
| 60 | 60 | ||
| 61 | const s3_len: u16 = try reader.readInt(u16, endian); | 61 | const s3_len: u16 = reader.readInt(u16, endian) catch unreachable; |
| 62 | self.s3 = try allocator.alloc(u8, s3_len); | 62 | self.s3 = try allocator.alloc(u8, s3_len); |
| 63 | errdefer allocator.free(self.s3); | 63 | errdefer allocator.free(self.s3); |
| 64 | _ = try reader.readAll(self.s3); | 64 | _ = reader.readAll(self.s3) catch unreachable; |
| 65 | 65 | ||
| 66 | return self; | 66 | return self; |
| 67 | } | 67 | } |
diff --git a/src/WidthData.zig b/src/WidthData.zig index 1f1ae6f..1b7fb2e 100644 --- a/src/WidthData.zig +++ b/src/WidthData.zig | |||
| @@ -13,7 +13,7 @@ s2: []i3 = undefined, | |||
| 13 | 13 | ||
| 14 | const Self = @This(); | 14 | const Self = @This(); |
| 15 | 15 | ||
| 16 | pub fn init(allocator: mem.Allocator) !Self { | 16 | pub fn init(allocator: mem.Allocator) mem.Allocator.Error!Self { |
| 17 | const decompressor = compress.flate.inflate.decompressor; | 17 | const decompressor = compress.flate.inflate.decompressor; |
| 18 | const in_bytes = @embedFile("dwp"); | 18 | const in_bytes = @embedFile("dwp"); |
| 19 | var in_fbs = std.io.fixedBufferStream(in_bytes); | 19 | var in_fbs = std.io.fixedBufferStream(in_bytes); |
| @@ -28,15 +28,15 @@ pub fn init(allocator: mem.Allocator) !Self { | |||
| 28 | }; | 28 | }; |
| 29 | errdefer self.g_data.deinit(); | 29 | errdefer self.g_data.deinit(); |
| 30 | 30 | ||
| 31 | const stage_1_len: u16 = try reader.readInt(u16, endian); | 31 | const stage_1_len: u16 = reader.readInt(u16, endian) catch unreachable; |
| 32 | self.s1 = try allocator.alloc(u16, stage_1_len); | 32 | self.s1 = try allocator.alloc(u16, stage_1_len); |
| 33 | errdefer allocator.free(self.s1); | 33 | errdefer allocator.free(self.s1); |
| 34 | for (0..stage_1_len) |i| self.s1[i] = try reader.readInt(u16, endian); | 34 | for (0..stage_1_len) |i| self.s1[i] = reader.readInt(u16, endian) catch unreachable; |
| 35 | 35 | ||
| 36 | const stage_2_len: u16 = try reader.readInt(u16, endian); | 36 | const stage_2_len: u16 = reader.readInt(u16, endian) catch unreachable; |
| 37 | self.s2 = try allocator.alloc(i3, stage_2_len); | 37 | self.s2 = try allocator.alloc(i3, stage_2_len); |
| 38 | errdefer allocator.free(self.s2); | 38 | errdefer allocator.free(self.s2); |
| 39 | for (0..stage_2_len) |i| self.s2[i] = @intCast(try reader.readInt(i8, endian)); | 39 | for (0..stage_2_len) |i| self.s2[i] = @intCast(reader.readInt(i8, endian) catch unreachable); |
| 40 | 40 | ||
| 41 | return self; | 41 | return self; |
| 42 | } | 42 | } |