fn parseReadLinkPath(path: []const u16, is_relative: bool, out_buffer: []u16) error
fn parseReadLinkPath(path: []const u16, is_relative: bool, out_buffer: []u16) error{NameTooLong}![]u16 { path: { if (is_relative) break :path; return windows.ntToWin32Namespace(path, out_buffer) catch |err| switch (err) { error.NameTooLong => |e| return e, error.NotNtPath => break :path, }; } if (out_buffer.len < path.len) return error.NameTooLong; const dest = out_buffer[0..path.len]; @memcpy(dest, path); return dest; }