From 606b6462ceaaeb2d993df684829a27db16eea18a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20=28xq=29=20Quei=C3=9Fner?= Date: Tue, 28 Jul 2020 19:00:45 +0200 Subject: [PATCH] Fixes atomicSymLink looping when new_path already exists. --- lib/std/fs.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/fs.zig b/lib/std/fs.zig index 9070fd0a98..6e3a53b772 100644 --- a/lib/std/fs.zig +++ b/lib/std/fs.zig @@ -84,7 +84,7 @@ pub fn atomicSymLink(allocator: *Allocator, existing_path: []const u8, new_path: try crypto.randomBytes(rand_buf[0..]); base64_encoder.encode(tmp_path[dirname.len + 1 ..], &rand_buf); - if (cwd().symLink(existing_path, new_path, .{})) { + if (cwd().symLink(existing_path, tmp_path, .{})) { return rename(tmp_path, new_path); } else |err| switch (err) { error.PathAlreadyExists => continue,