aboutsummaryrefslogtreecommitdiff
path: root/std/fs.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-05-27 14:12:50 -0400
committerAndrew Kelley <andrew@ziglang.org>2019-05-27 14:12:50 -0400
commit06435535d3e40e4676e98009fad136f98fffbf2e (patch)
treea72055c4cce2869fa81f12d621560d6bec436f62 /std/fs.zig
parentf1610f6c1ddbb5c2b42d2ecac433b8eff11d5a3a (diff)
downloadzig-06435535d3e40e4676e98009fad136f98fffbf2e.tar.gz
zig-06435535d3e40e4676e98009fad136f98fffbf2e.zip
fixes for darwin
Diffstat (limited to 'std/fs.zig')
-rw-r--r--std/fs.zig12
1 files changed, 6 insertions, 6 deletions
diff --git a/std/fs.zig b/std/fs.zig
index 5c0db71435..c9147e5cc6 100644
--- a/std/fs.zig
+++ b/std/fs.zig
@@ -509,7 +509,7 @@ pub const Dir = struct {
}
}
self.handle.index = 0;
- self.handle.end_index = @intCast(usize, result);
+ self.handle.end_index = @intCast(usize, rc);
break;
}
}
@@ -694,7 +694,7 @@ pub fn readLinkC(pathname: [*]const u8, buffer: *[os.PATH_MAX]u8) ![]u8 {
return os.readlinkC(pathname, buffer);
}
-pub const OpenSelfExeError = os.OpenError || os.windows.CreateFileError;
+pub const OpenSelfExeError = os.OpenError || os.windows.CreateFileError || SelfExePathError;
pub fn openSelfExe() OpenSelfExeError!File {
if (os.linux.is_the_target) {
@@ -730,10 +730,10 @@ pub const SelfExePathError = os.ReadLinkError || os.SysCtlError;
/// On Linux, depends on procfs being mounted. If the currently executing binary has
/// been deleted, the file path looks something like `/a/b/c/exe (deleted)`.
/// TODO make the return type of this a null terminated pointer
-pub fn selfExePath(out_buffer: *[MAX_PATH_BYTES]u8) ![]u8 {
+pub fn selfExePath(out_buffer: *[MAX_PATH_BYTES]u8) SelfExePathError![]u8 {
if (os.darwin.is_the_target) {
var u32_len: u32 = out_buffer.len;
- const rc = c._NSGetExecutablePath(out_buffer, &u32_len);
+ const rc = std.c._NSGetExecutablePath(out_buffer, &u32_len);
if (rc != 0) return error.NameTooLong;
return mem.toSlice(u8, out_buffer);
}
@@ -765,13 +765,13 @@ pub fn selfExePath(out_buffer: *[MAX_PATH_BYTES]u8) ![]u8 {
}
/// Same as `selfExePath` except the result is UTF16LE-encoded.
-pub fn selfExePathW(out_buffer: *[os.windows.PATH_MAX_WIDE]u16) ![]u16 {
+pub fn selfExePathW(out_buffer: *[os.windows.PATH_MAX_WIDE]u16) SelfExePathError![]u16 {
return os.windows.GetModuleFileNameW(null, out_buffer, out_buffer.len);
}
/// `selfExeDirPath` except allocates the result on the heap.
/// Caller owns returned memory.
-pub fn selfExeDirPathAlloc(allocator: *Allocator) ![]u8 {
+pub fn selfExeDirPathAlloc(allocator: *Allocator) SelfExePathError![]u8 {
var buf: [MAX_PATH_BYTES]u8 = undefined;
return mem.dupe(allocator, u8, try selfExeDirPath(&buf));
}