diff options
Diffstat (limited to 'src/GenCatData.zig')
| -rw-r--r-- | src/GenCatData.zig | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/GenCatData.zig b/src/GenCatData.zig index 37ae037..12501bf 100644 --- a/src/GenCatData.zig +++ b/src/GenCatData.zig | |||
| @@ -58,14 +58,17 @@ pub fn init(allocator: mem.Allocator) !Self { | |||
| 58 | 58 | ||
| 59 | const s1_len: u16 = try reader.readInt(u16, endian); | 59 | const s1_len: u16 = try reader.readInt(u16, endian); |
| 60 | self.s1 = try allocator.alloc(u16, s1_len); | 60 | self.s1 = try allocator.alloc(u16, s1_len); |
| 61 | errdefer allocator.free(self.s1); | ||
| 61 | for (0..s1_len) |i| self.s1[i] = try reader.readInt(u16, endian); | 62 | for (0..s1_len) |i| self.s1[i] = try reader.readInt(u16, endian); |
| 62 | 63 | ||
| 63 | const s2_len: u16 = try reader.readInt(u16, endian); | 64 | const s2_len: u16 = try reader.readInt(u16, endian); |
| 64 | self.s2 = try allocator.alloc(u5, s2_len); | 65 | self.s2 = try allocator.alloc(u5, s2_len); |
| 66 | errdefer allocator.free(self.s2); | ||
| 65 | for (0..s2_len) |i| self.s2[i] = @intCast(try reader.readInt(u8, endian)); | 67 | for (0..s2_len) |i| self.s2[i] = @intCast(try reader.readInt(u8, endian)); |
| 66 | 68 | ||
| 67 | const s3_len: u16 = try reader.readInt(u8, endian); | 69 | const s3_len: u16 = try reader.readInt(u8, endian); |
| 68 | self.s3 = try allocator.alloc(u5, s3_len); | 70 | self.s3 = try allocator.alloc(u5, s3_len); |
| 71 | errdefer allocator.free(self.s3); | ||
| 69 | for (0..s3_len) |i| self.s3[i] = @intCast(try reader.readInt(u8, endian)); | 72 | for (0..s3_len) |i| self.s3[i] = @intCast(try reader.readInt(u8, endian)); |
| 70 | 73 | ||
| 71 | return self; | 74 | return self; |