about summary refs log tree commit diff
path: root/library/std/src/sys
diff options
context:
space:
mode:
authorDavid CARLIER <devnexen@gmail.com>2021-07-25 06:02:07 +0100
committerDavid CARLIER <devnexen@gmail.com>2021-07-25 06:02:07 +0100
commit5407b42cd87c3f42e46e9ed9cfeb5a8a390d2bc0 (patch)
tree752666df80aad219323dc1976453a17c3ee4ffdf /library/std/src/sys
parent2b4196e97736ffe75433235bf586989cdb4221c4 (diff)
downloadrust-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.rs7
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());
         }