diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2013-10-06 15:07:27 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2013-10-10 03:38:51 -0700 |
| commit | ff95904c488f573bfd07e94a0d456e4d35f325ce (patch) | |
| tree | b9eb8189e87458018d39a65edbb86b28966fb358 /src/libstd/run.rs | |
| parent | b07ab1fe4baa584401fa17a7ba20bea8c97c5043 (diff) | |
| download | rust-ff95904c488f573bfd07e94a0d456e4d35f325ce.tar.gz rust-ff95904c488f573bfd07e94a0d456e4d35f325ce.zip | |
Remove usage of io::FILE_writer
Diffstat (limited to 'src/libstd/run.rs')
| -rw-r--r-- | src/libstd/run.rs | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/libstd/run.rs b/src/libstd/run.rs index 38fb597f296..8712d01aae9 100644 --- a/src/libstd/run.rs +++ b/src/libstd/run.rs @@ -307,7 +307,6 @@ pub fn process_output(prog: &str, args: &[~str]) -> ProcessOutput { #[cfg(test)] mod tests { - use io; use libc::c_int; use option::{Option, None, Some}; use os; @@ -315,6 +314,8 @@ mod tests { use run; use str; use unstable::running_on_valgrind; + use rt::io::native::file; + use rt::io::{Writer, Reader}; #[test] #[cfg(not(target_os="android"))] @@ -412,21 +413,21 @@ mod tests { } fn writeclose(fd: c_int, s: &str) { - let writer = io::fd_writer(fd, false); - writer.write_str(s); - os::close(fd); + let mut writer = file::FileDesc::new(fd); + writer.write(s.as_bytes()); } fn readclose(fd: c_int) -> ~str { - #[fixed_stack_segment]; #[inline(never)]; - - unsafe { - let file = os::fdopen(fd); - let reader = io::FILE_reader(file, false); - let buf = reader.read_whole_stream(); - os::fclose(file); - str::from_utf8(buf) + let mut res = ~[]; + let mut reader = file::FileDesc::new(fd); + let mut buf = [0, ..1024]; + loop { + match reader.read(buf) { + Some(n) => { res.push_all(buf.slice_to(n)); } + None => break + } } + str::from_utf8_owned(res) } #[test] |
