diff options
| -rw-r--r-- | codegen/fold.zig | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/codegen/fold.zig b/codegen/fold.zig index 24ecae6..53ed3c4 100644 --- a/codegen/fold.zig +++ b/codegen/fold.zig | |||
| @@ -202,6 +202,7 @@ pub fn main() !void { | |||
| 202 | @memcpy(stage2[i * 256 ..][0..256], &key); | 202 | @memcpy(stage2[i * 256 ..][0..256], &key); |
| 203 | } | 203 | } |
| 204 | 204 | ||
| 205 | // Write out compressed binary data file. | ||
| 205 | var args_iter = try std.process.argsWithAllocator(allocator); | 206 | var args_iter = try std.process.argsWithAllocator(allocator); |
| 206 | defer args_iter.deinit(); | 207 | defer args_iter.deinit(); |
| 207 | _ = args_iter.skip(); | 208 | _ = args_iter.skip(); |
| @@ -214,19 +215,19 @@ pub fn main() !void { | |||
| 214 | const writer = out_comp.writer(); | 215 | const writer = out_comp.writer(); |
| 215 | 216 | ||
| 216 | const endian = builtin.cpu.arch.endian(); | 217 | const endian = builtin.cpu.arch.endian(); |
| 217 | 218 | // Table metadata. | |
| 218 | try writer.writeInt(u24, @intCast(codepoint_cutoff), endian); | 219 | try writer.writeInt(u24, @intCast(codepoint_cutoff), endian); |
| 219 | try writer.writeInt(u24, @intCast(multiple_codepoint_start), endian); | 220 | try writer.writeInt(u24, @intCast(multiple_codepoint_start), endian); |
| 220 | 221 | // Stage 1 | |
| 221 | try writer.writeInt(u16, @intCast(meaningful_stage1.len), endian); | 222 | try writer.writeInt(u16, @intCast(meaningful_stage1.len), endian); |
| 222 | try writer.writeAll(meaningful_stage1); | 223 | try writer.writeAll(meaningful_stage1); |
| 223 | 224 | // Stage 2 | |
| 224 | try writer.writeInt(u16, @intCast(stage2.len), endian); | 225 | try writer.writeInt(u16, @intCast(stage2.len), endian); |
| 225 | try writer.writeAll(stage2); | 226 | try writer.writeAll(stage2); |
| 226 | 227 | // Stage 3 | |
| 227 | try writer.writeInt(u16, @intCast(stage3.len), endian); | 228 | try writer.writeInt(u16, @intCast(stage3.len), endian); |
| 228 | for (stage3) |offset| try writer.writeInt(i24, offset, endian); | 229 | for (stage3) |offset| try writer.writeInt(i24, offset, endian); |
| 229 | 230 | // Changes when case folded | |
| 230 | try writer.writeInt(u16, @intCast(props_map.count()), endian); | 231 | try writer.writeInt(u16, @intCast(props_map.count()), endian); |
| 231 | var iter = props_map.keyIterator(); | 232 | var iter = props_map.keyIterator(); |
| 232 | while (iter.next()) |key_ptr| try writer.writeInt(u24, key_ptr.*, endian); | 233 | while (iter.next()) |key_ptr| try writer.writeInt(u24, key_ptr.*, endian); |