about summary refs log tree commit diff
path: root/src/librustdoc/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustdoc/lib.rs')
-rw-r--r--src/librustdoc/lib.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs
index 29e52d627cd..c9b50bdd3c1 100644
--- a/src/librustdoc/lib.rs
+++ b/src/librustdoc/lib.rs
@@ -21,6 +21,7 @@
 #![feature(box_syntax)]
 #![feature(collections)]
 #![feature(core)]
+#![feature(env)]
 #![feature(hash)]
 #![feature(int_uint)]
 #![feature(io)]
@@ -50,6 +51,7 @@ extern crate "serialize" as rustc_serialize; // used by deriving
 
 use std::cell::RefCell;
 use std::collections::HashMap;
+use std::env;
 use std::old_io::File;
 use std::old_io;
 use std::rc::Rc;
@@ -121,9 +123,10 @@ struct Output {
 pub fn main() {
     static STACK_SIZE: uint = 32000000; // 32MB
     let res = std::thread::Builder::new().stack_size(STACK_SIZE).scoped(move || {
-        main_args(std::os::args().as_slice())
+        let s = env::args().map(|s| s.into_string().unwrap());
+        main_args(&s.collect::<Vec<_>>())
     }).join();
-    std::os::set_exit_status(res.ok().unwrap());
+    env::set_exit_status(res.ok().unwrap() as i32);
 }
 
 pub fn opts() -> Vec<getopts::OptGroup> {