authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-26 17:56:08 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-26 17:56:08 -07:00
log77efa9c90558b2c8e2e2701c9547ff24ecd96587
treed543d359ef0ca9740618f9728954833490a799df
parent3c33f01135c194c99e70da5995cbdf938042a464
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

populate OpenFileFlags


1 files changed, 9 insertions(+), 3 deletions(-)

Dir.zig+9-3
......@@ -21,8 +21,14 @@ pub fn close(self: Dir) void {
2121}
2222
2323pub fn openFile(self: Dir, sub_path: [:0]const u8, flags: OpenFileFlags) !File {
24 _ = flags;
25 return .{ .fd = @enumFromInt(try sys.openat(@intFromEnum(self.fd), sub_path.ptr, sys.O.RDONLY)) };
24 var oflag: c_int = 0;
25 oflag |= switch (flags.mode) {
26 .read_only => sys.O.RDONLY,
27 .write_only => sys.O.WRONLY,
28 .read_write => sys.O.RDWR,
29 };
30 oflag |= sys.O.CLOEXEC;
31 return .{ .fd = @enumFromInt(try sys.openat(@intFromEnum(self.fd), sub_path.ptr, oflag)) };
2632}
2733pub fn openFileC(self: Dir, sub_path: []const u8, flags: OpenFileFlags) !File {
2834 std.debug.assert(sub_path.len <= sys.PATH_MAX);
......@@ -33,7 +39,7 @@ pub fn openFileC(self: Dir, sub_path: []const u8, flags: OpenFileFlags) !File {
3339}
3440
3541pub const OpenFileFlags = packed struct {
36 //
42 mode: enum(u8) { read_only, write_only, read_write } = .read_only,
3743};
3844
3945pub fn openDir(self: Dir, sub_path: [:0]const u8, flags: OpenDirFlags) !Dir {