Skip to content

Commit 3449751

Browse files
committed
iOS: fixed build
1 parent 336c8d2 commit 3449751

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

src/libstd/sys/unix/c.rs

+1
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ extern {
143143
pub fn sigdelset(set: *mut sigset_t, signum: libc::c_int) -> libc::c_int;
144144
pub fn sigemptyset(set: *mut sigset_t) -> libc::c_int;
145145

146+
#[cfg(not(target_os = "ios"))]
146147
pub fn getpwuid_r(uid: libc::uid_t,
147148
pwd: *mut passwd,
148149
buf: *mut libc::c_char,

src/libstd/sys/unix/os.rs

+16-14
Original file line numberDiff line numberDiff line change
@@ -307,23 +307,23 @@ pub fn args() -> Args {
307307
let mut res = Vec::new();
308308

309309
unsafe {
310-
let processInfoSel = sel_registerName("processInfo\0".as_ptr());
311-
let argumentsSel = sel_registerName("arguments\0".as_ptr());
312-
let utf8Sel = sel_registerName("UTF8String\0".as_ptr());
313-
let countSel = sel_registerName("count\0".as_ptr());
314-
let objectAtSel = sel_registerName("objectAtIndex:\0".as_ptr());
310+
let process_info_sel = sel_registerName("processInfo\0".as_ptr());
311+
let arguments_sel = sel_registerName("arguments\0".as_ptr());
312+
let utf8_sel = sel_registerName("UTF8String\0".as_ptr());
313+
let count_sel = sel_registerName("count\0".as_ptr());
314+
let object_at_sel = sel_registerName("objectAtIndex:\0".as_ptr());
315315

316316
let klass = objc_getClass("NSProcessInfo\0".as_ptr());
317-
let info = objc_msgSend(klass, processInfoSel);
318-
let args = objc_msgSend(info, argumentsSel);
317+
let info = objc_msgSend(klass, process_info_sel);
318+
let args = objc_msgSend(info, arguments_sel);
319319

320-
let cnt: int = mem::transmute(objc_msgSend(args, countSel));
320+
let cnt: int = mem::transmute(objc_msgSend(args, count_sel));
321321
for i in range(0, cnt) {
322-
let tmp = objc_msgSend(args, objectAtSel, i);
322+
let tmp = objc_msgSend(args, object_at_sel, i);
323323
let utf_c_str: *const libc::c_char =
324-
mem::transmute(objc_msgSend(tmp, utf8Sel));
325-
let bytes = ffi::c_str_to_bytes(&utf_c_str).to_vec();
326-
res.push(OsString::from_vec(bytes))
324+
mem::transmute(objc_msgSend(tmp, utf8_sel));
325+
let bytes = ffi::c_str_to_bytes(&utf_c_str);
326+
res.push(OsString::from_str(str::from_utf8(bytes).unwrap()))
327327
}
328328
}
329329

@@ -455,9 +455,11 @@ pub fn home_dir() -> Option<Path> {
455455
Path::new(os.into_vec())
456456
});
457457

458-
#[cfg(target_os = "android")]
458+
#[cfg(any(target_os = "android",
459+
target_os = "ios"))]
459460
unsafe fn fallback() -> Option<OsString> { None }
460-
#[cfg(not(target_os = "android"))]
461+
#[cfg(not(any(target_os = "android",
462+
target_os = "ios")))]
461463
unsafe fn fallback() -> Option<OsString> {
462464
let mut amt = match libc::sysconf(c::_SC_GETPW_R_SIZE_MAX) {
463465
n if n < 0 => 512 as usize,

0 commit comments

Comments
 (0)