authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-03-15 23:02:58 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-03-15 23:02:58 -07:00
logae7e6720834dd7d1a485589da6b62ba7fa16eead
tree61d7c8512df5942e482a4c641a91345ed00501cc
parent76c83354506de11e58703766b4555d112c725129
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

Dir: remove sys_linux use


1 files changed, 8 insertions(+), 13 deletions(-)

Dir.zig+8-13
...@@ -17,14 +17,12 @@ fd: nfs.Handle,...@@ -17,14 +17,12 @@ fd: nfs.Handle,
1717
18// Resource allocation may fail; resource deallocation must succeed.18// Resource allocation may fail; resource deallocation must succeed.
19pub fn close(self: Dir) void {19pub fn close(self: Dir) void {
20 if (os == .linux)20 return sys.close(@intFromEnum(self.fd)) catch {};
21 sys_linux.close(@intFromEnum(self.fd)) catch {};
22}21}
2322
24pub fn openFile(self: Dir, sub_path: [:0]const u8, flags: OpenFileFlags) !File {23pub fn openFile(self: Dir, sub_path: [:0]const u8, flags: OpenFileFlags) !File {
25 _ = flags;24 _ = flags;
26 if (os == .linux)25 return .{ .fd = @enumFromInt(try sys.openat(@intFromEnum(self.fd), sub_path.ptr, sys.O.RDONLY)) };
27 return .{ .fd = @enumFromInt(try sys_linux.openat(@intFromEnum(self.fd), sub_path.ptr, sys_linux.O.RDONLY)) };
28}26}
2927
30pub const OpenFileFlags = packed struct {28pub const OpenFileFlags = packed struct {
...@@ -33,12 +31,11 @@ pub const OpenFileFlags = packed struct {...@@ -33,12 +31,11 @@ pub const OpenFileFlags = packed struct {
3331
34pub fn openDir(self: Dir, sub_path: [:0]const u8, flags: OpenDirFlags) !Dir {32pub fn openDir(self: Dir, sub_path: [:0]const u8, flags: OpenDirFlags) !Dir {
35 _ = flags;33 _ = flags;
36 if (os == .linux)34 return .{ .fd = @enumFromInt(try sys.openat(@intFromEnum(self.fd), sub_path.ptr, sys.O.RDONLY | sys.O.DIRECTORY)) };
37 return .{ .fd = @enumFromInt(try sys_linux.openat(@intFromEnum(self.fd), sub_path.ptr, sys_linux.O.RDONLY | sys_linux.O.DIRECTORY)) };
38}35}
39pub fn openDirC(self: Dir, sub_path: []const u8, flags: OpenDirFlags) !Dir {36pub fn openDirC(self: Dir, sub_path: []const u8, flags: OpenDirFlags) !Dir {
40 std.debug.assert(sub_path.len <= sys_linux.NAME_MAX);37 std.debug.assert(sub_path.len <= sys.NAME_MAX);
41 var buf: [sys_linux.NAME_MAX + 1]u8 = undefined;38 var buf: [sys.NAME_MAX + 1]u8 = undefined;
42 @memcpy(buf[0..sub_path.len], sub_path);39 @memcpy(buf[0..sub_path.len], sub_path);
43 buf[sub_path.len] = 0;40 buf[sub_path.len] = 0;
44 return openDir(self, buf[0..sub_path.len :0], flags);41 return openDir(self, buf[0..sub_path.len :0], flags);
...@@ -61,19 +58,17 @@ pub fn readFileAlloc(self: Dir, allocator: std.mem.Allocator, file_path: [:0]con...@@ -61,19 +58,17 @@ pub fn readFileAlloc(self: Dir, allocator: std.mem.Allocator, file_path: [:0]con
61}58}
6259
63pub fn makeDir(self: Dir, sub_path: [:0]const u8) !void {60pub fn makeDir(self: Dir, sub_path: [:0]const u8) !void {
64 if (os == .linux)61 try sys.mkdirat(@intFromEnum(self.fd), sub_path, 0o755);
65 try sys_linux.mkdirat(@intFromEnum(self.fd), sub_path, 0o755);
66}62}
6763
68pub fn statFile(self: Dir, sub_path: [:0]const u8) !File.Stat {64pub fn statFile(self: Dir, sub_path: [:0]const u8) !File.Stat {
69 if (os == .linux)65 return .fromPosix(try sys.fstatat(@intFromEnum(self.fd), sub_path, 0));
70 return .fromPosix(try sys_linux.fstatat(@intFromEnum(self.fd), sub_path, 0));
71}66}
7267
73pub fn makePath(self: Dir, sub_path: [:0]const u8) !void {68pub fn makePath(self: Dir, sub_path: [:0]const u8) !void {
74 var it = try std.fs.path.componentIterator(sub_path);69 var it = try std.fs.path.componentIterator(sub_path);
75 var component = it.last() orelse return;70 var component = it.last() orelse return;
76 var zuffer: [sys_linux.NAME_MAX + 1]u8 = undefined;71 var zuffer: [sys.NAME_MAX + 1]u8 = undefined;
77 while (true) {72 while (true) {
78 @memcpy(zuffer[0..component.path.len], component.path);73 @memcpy(zuffer[0..component.path.len], component.path);
79 zuffer[component.path.len] = 0;74 zuffer[component.path.len] = 0;