diff options
| author | 2025-09-14 04:11:09 -0700 | |
|---|---|---|
| committer | 2025-09-14 04:11:09 -0700 | |
| commit | 749197a3f9d25e211615960c02380a3d659b20f9 (patch) | |
| tree | 9c892349f0a7136edb150f27f549dc182f7699bb /codegen/upper.zig | |
| parent | Update codebase to Zig 0.15.1. (diff) | |
| download | zg-749197a3f9d25e211615960c02380a3d659b20f9.tar.gz zg-749197a3f9d25e211615960c02380a3d659b20f9.tar.xz zg-749197a3f9d25e211615960c02380a3d659b20f9.zip | |
Embed data files in scripts rather than relying on filesystem access for easier packaging
Diffstat (limited to 'codegen/upper.zig')
| -rw-r--r-- | codegen/upper.zig | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/codegen/upper.zig b/codegen/upper.zig index 7d96a0e..108fdbd 100644 --- a/codegen/upper.zig +++ b/codegen/upper.zig | |||
| @@ -6,13 +6,9 @@ pub fn main() anyerror!void { | |||
| 6 | defer arena.deinit(); | 6 | defer arena.deinit(); |
| 7 | const allocator = arena.allocator(); | 7 | const allocator = arena.allocator(); |
| 8 | 8 | ||
| 9 | var line_buf: [4096]u8 = undefined; | ||
| 10 | var write_buf: [4096]u8 = undefined; | 9 | var write_buf: [4096]u8 = undefined; |
| 11 | // Process UnicodeData.txt | 10 | // Process UnicodeData.txt |
| 12 | var in_file = try std.fs.cwd().openFile("data/unicode/UnicodeData.txt", .{}); | 11 | var in_reader = std.io.Reader.fixed(@embedFile("UnicodeData.txt")); |
| 13 | defer in_file.close(); | ||
| 14 | var in_reader = in_file.reader(&line_buf); | ||
| 15 | |||
| 16 | var args_iter = try std.process.argsWithAllocator(allocator); | 12 | var args_iter = try std.process.argsWithAllocator(allocator); |
| 17 | defer args_iter.deinit(); | 13 | defer args_iter.deinit(); |
| 18 | _ = args_iter.skip(); | 14 | _ = args_iter.skip(); |
| @@ -23,7 +19,7 @@ pub fn main() anyerror!void { | |||
| 23 | var file_writer = out_file.writer(&write_buf); | 19 | var file_writer = out_file.writer(&write_buf); |
| 24 | const endian = builtin.cpu.arch.endian(); | 20 | const endian = builtin.cpu.arch.endian(); |
| 25 | 21 | ||
| 26 | lines: while (in_reader.interface.takeDelimiterExclusive('\n')) |line| { | 22 | lines: while (in_reader.takeDelimiterExclusive('\n')) |line| { |
| 27 | if (line.len == 0) continue; | 23 | if (line.len == 0) continue; |
| 28 | 24 | ||
| 29 | var field_iter = std.mem.splitScalar(u8, line, ';'); | 25 | var field_iter = std.mem.splitScalar(u8, line, ';'); |
| @@ -48,9 +44,6 @@ pub fn main() anyerror!void { | |||
| 48 | } | 44 | } |
| 49 | } | 45 | } |
| 50 | } else |err| switch (err) { | 46 | } else |err| switch (err) { |
| 51 | error.ReadFailed => { | ||
| 52 | return in_reader.err orelse err; | ||
| 53 | }, | ||
| 54 | error.EndOfStream => {}, | 47 | error.EndOfStream => {}, |
| 55 | else => { | 48 | else => { |
| 56 | return err; | 49 | return err; |