| ... | @@ -24,6 +24,13 @@ pub fn openFile(self: Dir, sub_path: [:0]const u8, flags: OpenFileFlags) !File { | ... | @@ -24,6 +24,13 @@ pub fn openFile(self: Dir, sub_path: [:0]const u8, flags: OpenFileFlags) !File { |
| 24 | _ = flags; | 24 | _ = flags; |
| 25 | return .{ .fd = @enumFromInt(try sys.openat(@intFromEnum(self.fd), sub_path.ptr, sys.O.RDONLY)) }; | 25 | return .{ .fd = @enumFromInt(try sys.openat(@intFromEnum(self.fd), sub_path.ptr, sys.O.RDONLY)) }; |
| 26 | } | 26 | } |
| | 27 | pub fn openFileC(self: Dir, sub_path: []const u8, flags: OpenFileFlags) !File { |
| | 28 | std.debug.assert(sub_path.len <= sys.PATH_MAX); |
| | 29 | var buf: [sys.PATH_MAX + 1]u8 = undefined; |
| | 30 | @memcpy(buf[0..sub_path.len], sub_path); |
| | 31 | buf[sub_path.len] = 0; |
| | 32 | return openFile(self, buf[0..sub_path.len :0], flags); |
| | 33 | } |
| 27 | | 34 | |
| 28 | pub const OpenFileFlags = packed struct { | 35 | pub const OpenFileFlags = packed struct { |
| 29 | // | 36 | // |