authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-08-21 20:52:21-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-08-21 20:52:21-04:00
log478db39866ff5cc49dca50a8d5a7740d08122d26
tree03f7786bbcb72d322d67cb188626065e733ae893
parentea1b21dbdb3d5e680b133be68d174dcc0067fa1e

fix selfExePath on macosx


1 files changed, 2 insertions(+), 1 deletions(-)

std/os/index.zig+2-1
......@@ -2094,6 +2094,7 @@ test "openSelfExe" {
20942094///
20952095/// On Linux, depends on procfs being mounted. If the currently executing binary has
20962096/// been deleted, the file path looks something like `/a/b/c/exe (deleted)`.
2097/// TODO make the return type of this a null terminated pointer
20972098pub fn selfExePath(out_buffer: *[MAX_PATH_BYTES]u8) ![]u8 {
20982099 switch (builtin.os) {
20992100 Os.linux => return readLink(out_buffer, "/proc/self/exe"),
......@@ -2117,7 +2118,7 @@ pub fn selfExePath(out_buffer: *[MAX_PATH_BYTES]u8) ![]u8 {
21172118 var u32_len: u32 = @intCast(u32, out_buffer.len); // TODO shouldn't need this cast
21182119 const rc = c._NSGetExecutablePath(out_buffer, &u32_len);
21192120 if (rc != 0) return error.NameTooLong;
2120 return out_buffer[0..u32_len];
2121 return mem.toSlice(u8, out_buffer);
21212122 },
21222123 else => @compileError("Unsupported OS"),
21232124 }