chdir
This commit is contained in:
parent
432151cc40
commit
c93973793e
1 changed files with 11 additions and 3 deletions
14
src/main.zig
14
src/main.zig
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue