diff options
| author | David CARLIER <devnexen@gmail.com> | 2021-07-25 06:02:07 +0100 |
|---|---|---|
| committer | David CARLIER <devnexen@gmail.com> | 2021-07-25 06:02:07 +0100 |
| commit | 5407b42cd87c3f42e46e9ed9cfeb5a8a390d2bc0 (patch) | |
| tree | 752666df80aad219323dc1976453a17c3ee4ffdf /library/std/src/sys | |
| parent | 2b4196e97736ffe75433235bf586989cdb4221c4 (diff) | |
| download | rust-5407b42cd87c3f42e46e9ed9cfeb5a8a390d2bc0.tar.gz rust-5407b42cd87c3f42e46e9ed9cfeb5a8a390d2bc0.zip | |
macos current_exe using directly libc instead.
Diffstat (limited to 'library/std/src/sys')
| -rw-r--r-- | library/std/src/sys/unix/os.rs | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/library/std/src/sys/unix/os.rs b/library/std/src/sys/unix/os.rs index d3c874edf2d..cc0802ed709 100644 --- a/library/std/src/sys/unix/os.rs +++ b/library/std/src/sys/unix/os.rs @@ -350,17 +350,14 @@ pub fn current_exe() -> io::Result<PathBuf> { #[cfg(any(target_os = "macos", target_os = "ios"))] pub fn current_exe() -> io::Result<PathBuf> { - extern "C" { - fn _NSGetExecutablePath(buf: *mut libc::c_char, bufsize: *mut u32) -> libc::c_int; - } unsafe { let mut sz: u32 = 0; - _NSGetExecutablePath(ptr::null_mut(), &mut sz); + libc::_NSGetExecutablePath(ptr::null_mut(), &mut sz); if sz == 0 { return Err(io::Error::last_os_error()); } let mut v: Vec<u8> = Vec::with_capacity(sz as usize); - let err = _NSGetExecutablePath(v.as_mut_ptr() as *mut i8, &mut sz); + let err = libc::_NSGetExecutablePath(v.as_mut_ptr() as *mut i8, &mut sz); if err != 0 { return Err(io::Error::last_os_error()); } |
