about summary refs log tree commit diff
path: root/src/libstd/run_program.rs
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2012-01-11 15:15:54 +0100
committerMarijn Haverbeke <marijnh@gmail.com>2012-01-11 21:00:11 +0100
commit34d7f05292911d5582ede20fd871f600447ad59d (patch)
treef066647b8b427ba8789eeed70867013040227830 /src/libstd/run_program.rs
parent807592e99f6da30b44d75db459f5e4ab6a8958e5 (diff)
downloadrust-34d7f05292911d5582ede20fd871f600447ad59d.tar.gz
rust-34d7f05292911d5582ede20fd871f600447ad59d.zip
Major clean-up of std::io
Use ifaces instead of objs, stop wrapping everything in two (or three)
layers of no-value-added indirection, and remove some of the more
pointless/outdated idioms from the code.
Diffstat (limited to 'src/libstd/run_program.rs')
-rw-r--r--src/libstd/run_program.rs12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/libstd/run_program.rs b/src/libstd/run_program.rs
index 3721e0ad62f..cc1e7c96046 100644
--- a/src/libstd/run_program.rs
+++ b/src/libstd/run_program.rs
@@ -197,15 +197,9 @@ fn start_program(prog: str, args: [str]) -> program {
 
     impl of program for prog_res {
         fn get_id() -> pid_t { ret self.pid; }
-        fn input() -> io::writer {
-            ret io::new_writer(io::fd_buf_writer(self.in_fd, none));
-        }
-        fn output() -> io::reader {
-            ret io::new_reader(io::FILE_buf_reader(self.out_file, none));
-        }
-        fn err() -> io::reader {
-            ret io::new_reader(io::FILE_buf_reader(self.err_file, none));
-        }
+        fn input() -> io::writer { io::fd_writer(self.in_fd, false) }
+        fn output() -> io::reader { io::FILE_reader(self.out_file, false) }
+        fn err() -> io::reader { io::FILE_reader(self.err_file, false) }
         fn close_input() { close_repr_input(*self); }
         fn finish() -> int { finish_repr(*self) }
         fn destroy() { destroy_repr(*self); }