This commit is contained in:
Dario48 2026-06-20 19:30:18 +02:00
commit c93973793e

View file

@ -142,10 +142,10 @@ fn handleErr(caught: anyerror) void {
}
pub fn main(init: std.process.Init) !void {
var iter = try init.minimal.args.iterateAllocator(init.gpa);
defer iter.deinit();
var nwd: ?[]const u8 = null;
{
var iter = try init.minimal.args.iterateAllocator(init.gpa);
defer iter.deinit();
_ = iter.next().?;
while (iter.next()) |i| {
if (binOptMap.get(i)) |o|
@ -166,6 +166,7 @@ pub fn main(init: std.process.Init) !void {
const file = std.Io.Dir.cwd().openFile(init.io, args.zonPath, .{ .allow_directory = false }) catch |err| switch (err) {
error.IsDir => blk: {
nwd = args.zonPath;
const dir = try std.Io.Dir.cwd().openDir(init.io, args.zonPath, .{});
defer dir.close(init.io);
break :blk try dir.openFile(init.io, "rom_list.zon", .{});
@ -173,6 +174,13 @@ pub fn main(init: std.process.Init) !void {
else => |e| return e,
};
defer file.close(init.io);
if (nwd == null) {
nwd = std.Io.Dir.path.dirname(args.zonPath) orelse ".";
}
try std.Io.Threaded.chdir(nwd.?);
var buf: [1024]u8 = undefined;
var reader = file.reader(init.io, &buf);
const content = try reader.interface.allocRemainingAlignedSentinel(init.arena.allocator(), .unlimited, .of(u8), 0);