chdir
This commit is contained in:
parent
432151cc40
commit
c93973793e
1 changed files with 11 additions and 3 deletions
12
src/main.zig
12
src/main.zig
|
|
@ -142,10 +142,10 @@ fn handleErr(caught: anyerror) void {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn main(init: std.process.Init) !void {
|
pub fn main(init: std.process.Init) !void {
|
||||||
{
|
|
||||||
var iter = try init.minimal.args.iterateAllocator(init.gpa);
|
var iter = try init.minimal.args.iterateAllocator(init.gpa);
|
||||||
defer iter.deinit();
|
defer iter.deinit();
|
||||||
|
var nwd: ?[]const u8 = null;
|
||||||
|
{
|
||||||
_ = iter.next().?;
|
_ = iter.next().?;
|
||||||
while (iter.next()) |i| {
|
while (iter.next()) |i| {
|
||||||
if (binOptMap.get(i)) |o|
|
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) {
|
const file = std.Io.Dir.cwd().openFile(init.io, args.zonPath, .{ .allow_directory = false }) catch |err| switch (err) {
|
||||||
error.IsDir => blk: {
|
error.IsDir => blk: {
|
||||||
|
nwd = args.zonPath;
|
||||||
const dir = try std.Io.Dir.cwd().openDir(init.io, args.zonPath, .{});
|
const dir = try std.Io.Dir.cwd().openDir(init.io, args.zonPath, .{});
|
||||||
defer dir.close(init.io);
|
defer dir.close(init.io);
|
||||||
break :blk try dir.openFile(init.io, "rom_list.zon", .{});
|
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,
|
else => |e| return e,
|
||||||
};
|
};
|
||||||
defer file.close(init.io);
|
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 buf: [1024]u8 = undefined;
|
||||||
var reader = file.reader(init.io, &buf);
|
var reader = file.reader(init.io, &buf);
|
||||||
const content = try reader.interface.allocRemainingAlignedSentinel(init.arena.allocator(), .unlimited, .of(u8), 0);
|
const content = try reader.interface.allocRemainingAlignedSentinel(init.arena.allocator(), .unlimited, .of(u8), 0);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue