diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-03 15:25:50 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-03 15:25:50 +0900 |
| commit | 9d802c755c22f8612b6933da99998e7ddae14886 (patch) | |
| tree | cb7c0240734017de5d4a2b665eca52acfed2cf4d /src/main.zig | |
| parent | e844e52aaf817a1e8426ce5d19e0b4d2f98dff32 (diff) | |
| download | zgjq-9d802c755c22f8612b6933da99998e7ddae14886.tar.gz zgjq-9d802c755c22f8612b6933da99998e7ddae14886.tar.zst zgjq-9d802c755c22f8612b6933da99998e7ddae14886.zip | |
update zig to 0.16
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/main.zig b/src/main.zig index 51b2262..40a18ba 100644 --- a/src/main.zig +++ b/src/main.zig @@ -2,11 +2,11 @@ const std = @import("std"); const jq = @import("zgjq").jq; const jv = @import("zgjq").jv; -pub fn main() !void { - const allocator = std.heap.smp_allocator; +pub fn main(init: std.process.Init) !void { + const allocator = init.gpa; - const args = try std.process.argsAlloc(allocator); - defer std.process.argsFree(allocator, args); + const args = try init.minimal.args.toSlice(allocator); + defer allocator.free(args); var debug_dump_disasm = false; var query: ?[]const u8 = null; @@ -19,11 +19,13 @@ pub fn main() !void { } if (query == null) { - try std.fs.File.stderr().writeAll("usage: zgjq [--debug-dump-disasm] <query>\n"); + try std.Io.File.stderr().writeStreamingAll(init.io, "usage: zgjq [--debug-dump-disasm] <query>\n"); std.process.exit(1); } - const input = try std.fs.File.stdin().readToEndAlloc(allocator, std.math.maxInt(usize)); + var stdin_buf: [4096]u8 = undefined; + var stdin_reader = std.Io.File.stdin().reader(init.io, &stdin_buf); + const input = try stdin_reader.interface.allocRemaining(allocator, std.Io.Limit.unlimited); defer allocator.free(input); const parsed = try jv.parse(allocator, input); @@ -35,19 +37,19 @@ pub fn main() !void { try runtime.compileFromSlice(query.?); if (debug_dump_disasm) { - var buf: [4096]u8 = undefined; - var stderr = std.fs.File.stderr().writer(&buf); + var stderr_buf: [4096]u8 = undefined; + var stderr = std.Io.File.stderr().writer(init.io, &stderr_buf); try runtime.dumpDisasm(&stderr.interface); try stderr.interface.flush(); } try runtime.start(json); - const stdout = std.fs.File.stdout(); + const stdout = std.Io.File.stdout(); while (try runtime.next()) |result| { const output = try jv.stringify(allocator, result); defer allocator.free(output); - try stdout.writeAll(output); - try stdout.writeAll("\n"); + try stdout.writeStreamingAll(init.io, output); + try stdout.writeStreamingAll(init.io, "\n"); } } |
