From 8abc9c0ee19569b84bd297ce045f45a004bcd570 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Thu, 8 Aug 2024 22:27:58 +0200 Subject: [PATCH] fix(windows): encode colons in project state file path --- src/project_manager.zig | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/project_manager.zig b/src/project_manager.zig index 45b0bd6..5801a9e 100644 --- a/src/project_manager.zig +++ b/src/project_manager.zig @@ -401,13 +401,14 @@ const Process = struct { error.PathAlreadyExists => {}, else => return e, }; - var pos: usize = 0; - while (std.mem.indexOfScalarPos(u8, path, pos, std.fs.path.sep)) |next| { - _ = try writer.write(path[pos..next]); - _ = try writer.write("__"); - pos = next + 1; + for (path) |c| { + _ = if (std.fs.path.isSep(c)) + try writer.write("__") + else if (c == ':') + try writer.write("___") + else + try writer.writeByte(c); } - _ = try writer.write(path[pos..]); return stream.toOwnedSlice(); } };