aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/linux.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-03-13 21:06:07 -0400
committerAndrew Kelley <andrew@ziglang.org>2020-03-13 21:22:08 -0400
commit66e76a0209586000a78fe896071e73202a80b81f (patch)
tree15b80516b0aaddd2e114205e41ee0cda49c32030 /lib/std/os/linux.zig
parenteb4d313dbc406b37f6bfdd98988c88c3b8ed542e (diff)
downloadzig-66e76a0209586000a78fe896071e73202a80b81f.tar.gz
zig-66e76a0209586000a78fe896071e73202a80b81f.zip
zig build system: correctly handle multiple output artifacts
Previously the zig build system incorrectly assumed that the only build artifact was a binary. Now, when you enable the cache, only the output dir is printed to stdout, and the zig build system iterates over the files in that directory, copying them to the output directory. To support this change: * Add `std.os.renameat`, `std.os.renameatZ`, and `std.os.renameatW`. * Fix `std.os.linux.renameat` not compiling due to typos. * Deprecate `std.fs.updateFile` and `std.fs.updateFileMode`. * Add `std.fs.Dir.updateFile`, which supports using open directory handles for both the source and destination paths, as well as an options parameter which allows overriding the mode. * Update `std.fs.AtomicFile` to support operating based on an open directory handle. Instead of `std.fs.AtomicFile.init`, use `std.fs.Dir.atomicFile`. * `std.fs.AtomicFile` deinit() better handles the situation when the rename fails but the temporary file still exists, by still attempting to remove the temporary file. * `std.fs.Dir.openFileWindows` is moved to `std.os.windows.OpenFileW`. * `std.os.RenameError` gains the error codes `NoDevice`, `SharingViolation`, and `PipeBusy` which have been observed from Windows. Closes #4733
Diffstat (limited to 'lib/std/os/linux.zig')
-rw-r--r--lib/std/os/linux.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig
index ba7356d62c..f3265eaa61 100644
--- a/lib/std/os/linux.zig
+++ b/lib/std/os/linux.zig
@@ -465,17 +465,17 @@ pub fn renameat(oldfd: i32, oldpath: [*]const u8, newfd: i32, newpath: [*]const
return syscall4(
SYS_renameat,
@bitCast(usize, @as(isize, oldfd)),
- @ptrToInt(old),
+ @ptrToInt(oldpath),
@bitCast(usize, @as(isize, newfd)),
- @ptrToInt(new),
+ @ptrToInt(newpath),
);
} else {
return syscall5(
SYS_renameat2,
@bitCast(usize, @as(isize, oldfd)),
- @ptrToInt(old),
+ @ptrToInt(oldpath),
@bitCast(usize, @as(isize, newfd)),
- @ptrToInt(new),
+ @ptrToInt(newpath),
0,
);
}