From b55a218f33b3a9d93bb7bfc32463ec3f831dbb1e Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Tue, 26 May 2026 21:33:47 -0700 Subject: [PATCH] Dir: add makeOpenPathC --- Dir.zig | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Dir.zig b/Dir.zig index 7014a7139208514fb219c1edfc5bcc1b007dab37..2cc6c9420836849df99aa65028f7ace8929cd898 100644 --- a/Dir.zig +++ b/Dir.zig @@ -127,6 +127,13 @@ pub fn makeOpenPath(self: Dir, sub_path: [:0]const u8, flags: OpenDirFlags) !Dir else => |e| return e, }; } +pub fn makeOpenPathC(self: Dir, sub_path: []const u8, flags: OpenDirFlags) !Dir { + std.debug.assert(sub_path.len <= sys.PATH_MAX); + var buf: [sys.PATH_MAX + 1]u8 = undefined; + @memcpy(buf[0..sub_path.len], sub_path); + buf[sub_path.len] = 0; + return makeOpenPath(self, buf[0..sub_path.len :0], flags); +} pub fn readlink(self: Dir, noalias sub_path: [:0]const u8, noalias buf: []u8) ![:0]u8 { return sys.readlinkat(@intFromEnum(self.fd), sub_path, buf); -- 2.54.0