about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-08-11 22:31:45 -0700
committerBrian Anderson <banderson@mozilla.com>2011-08-12 12:11:12 -0700
commit13439dc87054bdcbdbe118f375e5addf5dcd78c8 (patch)
tree80c5289cf89690c7e69aee68f778507c1f91b620 /src
parent5c042a02cd3c2cbaa0a69cc6d7e90568593193d8 (diff)
downloadrust-13439dc87054bdcbdbe118f375e5addf5dcd78c8.tar.gz
rust-13439dc87054bdcbdbe118f375e5addf5dcd78c8.zip
Convert std::run to ivecs
Diffstat (limited to 'src')
-rw-r--r--src/comp/driver/rustc.rs6
-rw-r--r--src/fuzzer/fuzzer.rs6
-rw-r--r--src/lib/run_program.rs20
-rw-r--r--src/test/compiletest/procsrv.rs2
-rw-r--r--src/test/stdtest/run.rs8
5 files changed, 22 insertions, 20 deletions
diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs
index 05fda86a0f1..1dc83ca74cd 100644
--- a/src/comp/driver/rustc.rs
+++ b/src/comp/driver/rustc.rs
@@ -623,7 +623,7 @@ fn main(args: vec[str]) {
     }
     // We run 'gcc' here
 
-    let err_code = run::run_program(prog, ivec::to_vec(gcc_args));
+    let err_code = run::run_program(prog, gcc_args);
     if 0 != err_code {
         sess.err(#fmt("linking with gcc failed with code %d", err_code));
         sess.note(#fmt("gcc arguments: %s",
@@ -633,13 +633,13 @@ fn main(args: vec[str]) {
     // Clean up on Darwin
 
     if sess.get_targ_cfg().os == session::os_macos {
-        run::run_program("dsymutil", [saved_out_filename]);
+        run::run_program("dsymutil", ~[saved_out_filename]);
     }
 
 
     // Remove the temporary object file if we aren't saving temps
     if !sopts.save_temps {
-        run::run_program("rm", [saved_out_filename + ".o"]);
+        run::run_program("rm", ~[saved_out_filename + ".o"]);
     }
 }
 
diff --git a/src/fuzzer/fuzzer.rs b/src/fuzzer/fuzzer.rs
index 95a831e8c5f..bee16f47810 100644
--- a/src/fuzzer/fuzzer.rs
+++ b/src/fuzzer/fuzzer.rs
@@ -26,7 +26,7 @@ fn write_file(filename: &str, content: &str) {
                         ~[io::create,
                           io::truncate]).write_str(content);
     // Work around https://github.com/graydon/rust/issues/726
-    std::run::run_program("chmod", ["644", filename]);
+    std::run::run_program("chmod", ~["644", filename]);
 }
 
 fn file_contains(filename: &str, needle: &str) -> bool {
@@ -177,7 +177,7 @@ fn check_variants_of_ast(crate: &ast::crate, codemap: &codemap::codemap, filenam
 fn check_whole_compiler(code: &str) {
     let filename = "test.rs";
     write_file(filename, code);
-    let p = std::run::program_output("/Users/jruderman/code/rust/build/stage1/rustc", ["-c", filename]);
+    let p = std::run::program_output("/Users/jruderman/code/rust/build/stage1/rustc", ~["-c", filename]);
     //log_err #fmt("Status: %d", p.status);
     //log_err "Output: " + p.out;
     if p.err != "" {
@@ -311,7 +311,7 @@ fn check_roundtrip_convergence(code: &str, maxIters: uint) {
         log_err #fmt("Did not converge after %u iterations!", i);
         write_file("round-trip-a.rs", old);
         write_file("round-trip-b.rs", new);
-        std::run::run_program("diff", ["-w", "-u", "round-trip-a.rs", "round-trip-b.rs"]);
+        std::run::run_program("diff", ~["-w", "-u", "round-trip-a.rs", "round-trip-b.rs"]);
         fail "Mismatch";
     }
 }
diff --git a/src/lib/run_program.rs b/src/lib/run_program.rs
index 7db81f96d5b..fa79a6330f5 100644
--- a/src/lib/run_program.rs
+++ b/src/lib/run_program.rs
@@ -13,23 +13,25 @@ native "rust" mod rustrt {
        int;
 }
 
-fn arg_vec(prog: str, args: vec[str]) -> vec[sbuf] {
-    let argptrs = [str::buf(prog)];
-    for arg: str  in args { vec::push[sbuf](argptrs, str::buf(arg)); }
-    vec::push[sbuf](argptrs, 0 as sbuf);
+fn arg_vec(prog: str, args: &[str]) -> [sbuf] {
+    let argptrs = ~[str::buf(prog)];
+    for arg: str  in args { argptrs += ~[str::buf(arg)]; }
+    argptrs += ~[0 as sbuf];
     ret argptrs;
 }
 
-fn spawn_process(prog: str, args: vec[str], in_fd: int, out_fd: int,
+fn spawn_process(prog: str, args: &[str], in_fd: int, out_fd: int,
                  err_fd: int) -> int {
     // Note: we have to hold on to this vector reference while we hold a
     // pointer to its buffer
     let argv = arg_vec(prog, args);
-    let pid = rustrt::rust_run_program(vec::buf(argv), in_fd, out_fd, err_fd);
+    let argvv = ivec::to_vec(argv);
+    let pid = rustrt::rust_run_program(
+        vec::buf(argvv), in_fd, out_fd, err_fd);
     ret pid;
 }
 
-fn run_program(prog: str, args: vec[str]) -> int {
+fn run_program(prog: str, args: &[str]) -> int {
     ret os::waitpid(spawn_process(prog, args, 0, 0, 0));
 }
 
@@ -48,7 +50,7 @@ resource program_res(p: program) {
     p.destroy();
 }
 
-fn start_program(prog: str, args: vec[str]) -> @program_res {
+fn start_program(prog: str, args: &[str]) -> @program_res {
     let pipe_input = os::pipe();
     let pipe_output = os::pipe();
     let pipe_err = os::pipe();
@@ -112,7 +114,7 @@ fn read_all(rd: &io::reader) -> str {
     ret buf;
 }
 
-fn program_output(prog: str, args: vec[str])
+fn program_output(prog: str, args: [str])
     -> {status: int, out: str, err: str} {
     let pr = start_program(prog, args);
     pr.close_input();
diff --git a/src/test/compiletest/procsrv.rs b/src/test/compiletest/procsrv.rs
index 94b77185652..db1aeb6cb32 100644
--- a/src/test/compiletest/procsrv.rs
+++ b/src/test/compiletest/procsrv.rs
@@ -140,7 +140,7 @@ fn worker(p: port[request]) {
         let pipe_err = os::pipe();
         let spawnproc =
             bind run::spawn_process(execparms.prog,
-                                    ivec::to_vec(execparms.args),
+                                    execparms.args,
                                     pipe_in.in,
                                     pipe_out.out,
                                     pipe_err.out);
diff --git a/src/test/stdtest/run.rs b/src/test/stdtest/run.rs
index 76ab7098043..cdc00438e2d 100644
--- a/src/test/stdtest/run.rs
+++ b/src/test/stdtest/run.rs
@@ -11,9 +11,9 @@ import std::ivec;
 #[cfg(target_os = "macos")]
 #[test]
 fn test_leaks() {
-    run::run_program("echo", []);
-    run::start_program("echo", []);
-    run::program_output("echo", []);
+    run::run_program("echo", ~[]);
+    run::start_program("echo", ~[]);
+    run::program_output("echo", ~[]);
 }
 
 // FIXME
@@ -28,7 +28,7 @@ fn test_pipes() {
     let pipe_out = os::pipe();
     let pipe_err = os::pipe();
 
-    let pid = run::spawn_process("cat", [],
+    let pid = run::spawn_process("cat", ~[],
        pipe_in.in, pipe_out.out, pipe_err.out);
     os::libc::close(pipe_in.in);
     os::libc::close(pipe_out.out);