Fix broken auto-mac-ios-opt build
This commit is contained in:
parent
bb6e646c7b
commit
fae883c113
@ -8,6 +8,7 @@
|
|||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
|
use prelude::v1::*;
|
||||||
use io::prelude::*;
|
use io::prelude::*;
|
||||||
use os::unix::prelude::*;
|
use os::unix::prelude::*;
|
||||||
|
|
||||||
@ -23,11 +24,6 @@ use sys::fd::FileDesc;
|
|||||||
use sys::platform::raw;
|
use sys::platform::raw;
|
||||||
use sys::{cvt, cvt_r};
|
use sys::{cvt, cvt_r};
|
||||||
use sys_common::{AsInner, FromInner};
|
use sys_common::{AsInner, FromInner};
|
||||||
use vec::Vec;
|
|
||||||
#[cfg(target_os = "solaris")]
|
|
||||||
use core_collections::borrow::ToOwned;
|
|
||||||
#[cfg(target_os = "solaris")]
|
|
||||||
use boxed::Box;
|
|
||||||
|
|
||||||
pub struct File(FileDesc);
|
pub struct File(FileDesc);
|
||||||
|
|
||||||
|
@ -507,28 +507,6 @@ pub fn home_dir() -> Option<PathBuf> {
|
|||||||
fallback()
|
fallback()
|
||||||
}).map(PathBuf::from);
|
}).map(PathBuf::from);
|
||||||
|
|
||||||
#[cfg(not(target_os = "solaris"))]
|
|
||||||
unsafe fn getpwduid_r(me: libc::uid_t, passwd: &mut libc::passwd,
|
|
||||||
buf: &mut Vec<c_char>) -> Option<()> {
|
|
||||||
let mut result = ptr::null_mut();
|
|
||||||
match libc::getpwuid_r(me, passwd, buf.as_mut_ptr(),
|
|
||||||
buf.capacity() as libc::size_t,
|
|
||||||
&mut result) {
|
|
||||||
0 if !result.is_null() => Some(()),
|
|
||||||
_ => None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(target_os = "solaris")]
|
|
||||||
unsafe fn getpwduid_r(me: libc::uid_t, passwd: &mut libc::passwd,
|
|
||||||
buf: &mut Vec<c_char>) -> Option<()> {
|
|
||||||
// getpwuid_r semantics is different on Illumos/Solaris:
|
|
||||||
// http://illumos.org/man/3c/getpwuid_r
|
|
||||||
let result = libc::getpwuid_r(me, passwd, buf.as_mut_ptr(),
|
|
||||||
buf.capacity() as libc::size_t);
|
|
||||||
if result.is_null() { None } else { Some(()) }
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(any(target_os = "android",
|
#[cfg(any(target_os = "android",
|
||||||
target_os = "ios",
|
target_os = "ios",
|
||||||
target_os = "nacl"))]
|
target_os = "nacl"))]
|
||||||
@ -537,6 +515,28 @@ pub fn home_dir() -> Option<PathBuf> {
|
|||||||
target_os = "ios",
|
target_os = "ios",
|
||||||
target_os = "nacl")))]
|
target_os = "nacl")))]
|
||||||
unsafe fn fallback() -> Option<OsString> {
|
unsafe fn fallback() -> Option<OsString> {
|
||||||
|
#[cfg(not(target_os = "solaris"))]
|
||||||
|
unsafe fn getpwduid_r(me: libc::uid_t, passwd: &mut libc::passwd,
|
||||||
|
buf: &mut Vec<c_char>) -> Option<()> {
|
||||||
|
let mut result = ptr::null_mut();
|
||||||
|
match libc::getpwuid_r(me, passwd, buf.as_mut_ptr(),
|
||||||
|
buf.capacity() as libc::size_t,
|
||||||
|
&mut result) {
|
||||||
|
0 if !result.is_null() => Some(()),
|
||||||
|
_ => None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(target_os = "solaris")]
|
||||||
|
unsafe fn getpwduid_r(me: libc::uid_t, passwd: &mut libc::passwd,
|
||||||
|
buf: &mut Vec<c_char>) -> Option<()> {
|
||||||
|
// getpwuid_r semantics is different on Illumos/Solaris:
|
||||||
|
// http://illumos.org/man/3c/getpwuid_r
|
||||||
|
let result = libc::getpwuid_r(me, passwd, buf.as_mut_ptr(),
|
||||||
|
buf.capacity() as libc::size_t);
|
||||||
|
if result.is_null() { None } else { Some(()) }
|
||||||
|
}
|
||||||
|
|
||||||
let amt = match libc::sysconf(libc::_SC_GETPW_R_SIZE_MAX) {
|
let amt = match libc::sysconf(libc::_SC_GETPW_R_SIZE_MAX) {
|
||||||
n if n < 0 => 512 as usize,
|
n if n < 0 => 512 as usize,
|
||||||
n => n as usize,
|
n => n as usize,
|
||||||
|
Loading…
Reference in New Issue
Block a user