From a3b5e884b12fdaa341010ef41bb9382fa0cd89f8 Mon Sep 17 00:00:00 2001 From: Michael Chaten Date: Sat, 13 Sep 2025 08:38:24 -0700 Subject: Update codebase to Zig 0.15.1. Removes compression support --- codegen/dwp.zig | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'codegen/dwp.zig') diff --git a/codegen/dwp.zig b/codegen/dwp.zig index 5e5bf6a..fad08d1 100644 --- a/codegen/dwp.zig +++ b/codegen/dwp.zig @@ -23,7 +23,7 @@ const BlockMap = std.HashMap( std.hash_map.default_max_load_percentage, ); -pub fn main() !void { +pub fn main() anyerror!void { var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); defer arena.deinit(); const allocator = arena.allocator(); @@ -36,10 +36,9 @@ pub fn main() !void { // Process DerivedEastAsianWidth.txt var deaw_file = try std.fs.cwd().openFile("data/unicode/extracted/DerivedEastAsianWidth.txt", .{}); defer deaw_file.close(); - var deaw_buf = std.io.bufferedReader(deaw_file.reader()); - const deaw_reader = deaw_buf.reader(); + var deaw_reader = deaw_file.reader(&line_buf); - while (try deaw_reader.readUntilDelimiterOrEof(&line_buf, '\n')) |line| { + while (deaw_reader.interface.takeDelimiterExclusive('\n')) |line| { if (line.len == 0) continue; // @missing ranges @@ -88,15 +87,18 @@ pub fn main() !void { else => {}, } } + } else |err| switch (err) { + error.EndOfStream => {}, + else => { + return err; + }, } - // Process DerivedGeneralCategory.txt var dgc_file = try std.fs.cwd().openFile("data/unicode/extracted/DerivedGeneralCategory.txt", .{}); defer dgc_file.close(); - var dgc_buf = std.io.bufferedReader(dgc_file.reader()); - const dgc_reader = dgc_buf.reader(); + var dgc_reader = dgc_file.reader(&line_buf); - while (try dgc_reader.readUntilDelimiterOrEof(&line_buf, '\n')) |line| { + while (dgc_reader.interface.takeDelimiterExclusive('\n')) |line| { if (line.len == 0 or line[0] == '#') continue; const no_comment = if (std.mem.indexOfScalar(u8, line, '#')) |octo| line[0..octo] else line; @@ -139,15 +141,20 @@ pub fn main() !void { else => {}, } } + } else |err| switch (err) { + error.EndOfStream => {}, + else => { + return err; + }, } var blocks_map = BlockMap.init(allocator); defer blocks_map.deinit(); - var stage1 = std.ArrayList(u16).init(allocator); + var stage1 = std.array_list.Managed(u16).init(allocator); defer stage1.deinit(); - var stage2 = std.ArrayList(i4).init(allocator); + var stage2 = std.array_list.Managed(i4).init(allocator); defer stage2.deinit(); var block: Block = [_]i4{0} ** block_size; @@ -227,18 +234,17 @@ pub fn main() !void { _ = args_iter.skip(); const output_path = args_iter.next() orelse @panic("No output file arg!"); - const compressor = std.compress.flate.deflate.compressor; + var write_buf: [4096]u8 = undefined; var out_file = try std.fs.cwd().createFile(output_path, .{}); defer out_file.close(); - var out_comp = try compressor(.raw, out_file.writer(), .{ .level = .best }); - const writer = out_comp.writer(); + var writer = out_file.writer(&write_buf); const endian = builtin.cpu.arch.endian(); - try writer.writeInt(u16, @intCast(stage1.items.len), endian); - for (stage1.items) |i| try writer.writeInt(u16, i, endian); + try writer.interface.writeInt(u16, @intCast(stage1.items.len), endian); + for (stage1.items) |i| try writer.interface.writeInt(u16, i, endian); - try writer.writeInt(u16, @intCast(stage2.items.len), endian); - for (stage2.items) |i| try writer.writeInt(i8, i, endian); + try writer.interface.writeInt(u16, @intCast(stage2.items.len), endian); + for (stage2.items) |i| try writer.interface.writeInt(i8, i, endian); - try out_comp.flush(); + try writer.interface.flush(); } -- cgit v1.2.3