diff --git a/src/cmd_fetch.zig b/src/cmd_fetch.zig index d80a9c4fa41e051bf82d6ab27aa0c10e57dc9434..bac4a09ea5485ef7a47cbda4e98bdbc9a9760737 100644 --- a/src/cmd_fetch.zig +++ b/src/cmd_fetch.zig @@ -69,8 +69,8 @@ fn fetch_deps(dir: []const u8, mpath: []const u8) anyerror!u.Module { const moduledeps = &std.ArrayList(u.Module).init(gpa); var moddir: []const u8 = undefined; for (m.deps) |d| { - const p = try u.concat(&[_][]const u8{dir, "/", try d.clean_path()}); - const pv = try u.concat(&[_][]const u8{dir, "/v/", try d.clean_path(), "/", d.version}); + const p = try fs.path.join(gpa, &[_][]const u8{dir, try d.clean_path()}); + const pv = try fs.path.join(gpa, &[_][]const u8{dir, "v", try d.clean_path(), d.version}); u.print("fetch: {}: {}: {}", .{m.name, @tagName(d.type), d.path}); moddir = p; switch (d.type) { diff --git a/src/common.zig b/src/common.zig index 730cfcc3664dfdad048d67d6e3f57c04ed1cb176..d2f8b0514cb699640db73645293bc494447474b0 100644 --- a/src/common.zig +++ b/src/common.zig @@ -1,5 +1,6 @@ const std = @import("std"); const gpa = std.heap.c_allocator; +const fs = std.fs; const u = @import("./util/index.zig"); @@ -11,8 +12,8 @@ pub fn collect_deps(dir: []const u8, mpath: []const u8) anyerror!u.Module { const moduledeps = &std.ArrayList(u.Module).init(gpa); var moddir: []const u8 = undefined; for (m.deps) |d| { - const p = try u.concat(&[_][]const u8{dir, "/", try d.clean_path()}); - const pv = try u.concat(&[_][]const u8{dir, "/v/", try d.clean_path(), "/", d.version}); + const p = try fs.path.join(gpa, &[_][]const u8{dir, try d.clean_path()}); + const pv = try fs.path.join(gpa, &[_][]const u8{dir, "v", try d.clean_path(), d.version}); if (try u.does_file_exist(pv)) { moddir = pv; } else {