diff --git a/src/libstd/os.rs b/src/libstd/os.rs index 300ceec4b45..72ad16e0a5d 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -646,6 +646,7 @@ fn real_args_as_bytes() -> Vec> { // res #[cfg(target_os = "ios")] fn real_args_as_bytes() -> Vec> { + use ffi::c_str_to_bytes; use iter::range; use mem; @@ -680,8 +681,7 @@ fn real_args_as_bytes() -> Vec> { let tmp = objc_msgSend(args, objectAtSel, i); let utf_c_str: *const libc::c_char = mem::transmute(objc_msgSend(tmp, utf8Sel)); - let s = CString::new(utf_c_str, false); - res.push(s.as_bytes_no_nul().to_vec()) + res.push(c_str_to_bytes(&utf_c_str).to_vec()); } }