diff options
Diffstat (limited to 'src/ScriptsData.zig')
| -rw-r--r-- | src/ScriptsData.zig | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ScriptsData.zig b/src/ScriptsData.zig index ac1c46a..4e371bf 100644 --- a/src/ScriptsData.zig +++ b/src/ScriptsData.zig | |||
| @@ -193,14 +193,17 @@ pub fn init(allocator: mem.Allocator) !Self { | |||
| 193 | 193 | ||
| 194 | const s1_len: u16 = try reader.readInt(u16, endian); | 194 | const s1_len: u16 = try reader.readInt(u16, endian); |
| 195 | self.s1 = try allocator.alloc(u16, s1_len); | 195 | self.s1 = try allocator.alloc(u16, s1_len); |
| 196 | errdefer allocator.free(self.s1); | ||
| 196 | for (0..s1_len) |i| self.s1[i] = try reader.readInt(u16, endian); | 197 | for (0..s1_len) |i| self.s1[i] = try reader.readInt(u16, endian); |
| 197 | 198 | ||
| 198 | const s2_len: u16 = try reader.readInt(u16, endian); | 199 | const s2_len: u16 = try reader.readInt(u16, endian); |
| 199 | self.s2 = try allocator.alloc(u8, s2_len); | 200 | self.s2 = try allocator.alloc(u8, s2_len); |
| 201 | errdefer allocator.free(self.s2); | ||
| 200 | _ = try reader.readAll(self.s2); | 202 | _ = try reader.readAll(self.s2); |
| 201 | 203 | ||
| 202 | const s3_len: u16 = try reader.readInt(u8, endian); | 204 | const s3_len: u16 = try reader.readInt(u8, endian); |
| 203 | self.s3 = try allocator.alloc(u8, s3_len); | 205 | self.s3 = try allocator.alloc(u8, s3_len); |
| 206 | errdefer allocator.free(self.s3); | ||
| 204 | _ = try reader.readAll(self.s3); | 207 | _ = try reader.readAll(self.s3); |
| 205 | 208 | ||
| 206 | return self; | 209 | return self; |