authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-26 21:33:47 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-26 21:33:47 -07:00
logb55a218f33b3a9d93bb7bfc32463ec3f831dbb1e
tree13b0016dbf705f2f799435772f748d6e3c19f639
parent2673fc9f6aa22c9a63fcb766a56ea1d4dd952f8e
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

Dir: add makeOpenPathC


1 files changed, 7 insertions(+), 0 deletions(-)

Dir.zig+7
...@@ -127,6 +127,13 @@ pub fn makeOpenPath(self: Dir, sub_path: [:0]const u8, flags: OpenDirFlags) !Dir...@@ -127,6 +127,13 @@ pub fn makeOpenPath(self: Dir, sub_path: [:0]const u8, flags: OpenDirFlags) !Dir
127 else => |e| return e,127 else => |e| return e,
128 };128 };
129}129}
130pub fn makeOpenPathC(self: Dir, sub_path: []const u8, flags: OpenDirFlags) !Dir {
131 std.debug.assert(sub_path.len <= sys.PATH_MAX);
132 var buf: [sys.PATH_MAX + 1]u8 = undefined;
133 @memcpy(buf[0..sub_path.len], sub_path);
134 buf[sub_path.len] = 0;
135 return makeOpenPath(self, buf[0..sub_path.len :0], flags);
136}
130137
131pub fn readlink(self: Dir, noalias sub_path: [:0]const u8, noalias buf: []u8) ![:0]u8 {138pub fn readlink(self: Dir, noalias sub_path: [:0]const u8, noalias buf: []u8) ![:0]u8 {
132 return sys.readlinkat(@intFromEnum(self.fd), sub_path, buf);139 return sys.readlinkat(@intFromEnum(self.fd), sub_path, buf);