Skip to content

Commit ff95904

Browse files
committed
Remove usage of io::FILE_writer
1 parent b07ab1f commit ff95904

File tree

2 files changed

+13
-49
lines changed

2 files changed

+13
-49
lines changed

src/libstd/io.rs

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,14 +1233,6 @@ impl Writer for *libc::FILE {
12331233
}
12341234
}
12351235

1236-
pub fn FILE_writer(f: *libc::FILE, cleanup: bool) -> @Writer {
1237-
if cleanup {
1238-
@Wrapper { base: f, cleanup: FILERes::new(f) } as @Writer
1239-
} else {
1240-
@f as @Writer
1241-
}
1242-
}
1243-
12441236
impl Writer for fd_t {
12451237
fn write(&self, v: &[u8]) {
12461238
#[fixed_stack_segment]; #[inline(never)];
@@ -1618,25 +1610,6 @@ pub fn file_writer(path: &Path, flags: &[FileFlag]) -> Result<@Writer, ~str> {
16181610
mk_file_writer(path, flags).and_then(|w| Ok(w))
16191611
}
16201612

1621-
1622-
// FIXME: fileflags // #2004
1623-
pub fn buffered_file_writer(path: &Path) -> Result<@Writer, ~str> {
1624-
#[fixed_stack_segment]; #[inline(never)];
1625-
1626-
unsafe {
1627-
let f = do path.with_c_str |pathbuf| {
1628-
do "w".with_c_str |modebuf| {
1629-
libc::fopen(pathbuf, modebuf)
1630-
}
1631-
};
1632-
return if f as uint == 0u {
1633-
Err(~"error opening " + path.to_str())
1634-
} else {
1635-
Ok(FILE_writer(f, true))
1636-
}
1637-
}
1638-
}
1639-
16401613
// FIXME (#2004) it would be great if this could be a const
16411614
// FIXME (#2004) why are these different from the way stdin() is
16421615
// implemented?
@@ -2086,16 +2059,6 @@ mod tests {
20862059
}
20872060
}
20882061
2089-
#[test]
2090-
fn buffered_file_writer_bad_name() {
2091-
match io::buffered_file_writer(&Path("?/?")) {
2092-
Err(e) => {
2093-
assert!(e.starts_with("error opening"));
2094-
}
2095-
Ok(_) => fail2!()
2096-
}
2097-
}
2098-
20992062
#[test]
21002063
fn bytes_buffer_overwrite() {
21012064
let wr = BytesWriter::new();

src/libstd/run.rs

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -307,14 +307,15 @@ pub fn process_output(prog: &str, args: &[~str]) -> ProcessOutput {
307307

308308
#[cfg(test)]
309309
mod tests {
310-
use io;
311310
use libc::c_int;
312311
use option::{Option, None, Some};
313312
use os;
314313
use path::Path;
315314
use run;
316315
use str;
317316
use unstable::running_on_valgrind;
317+
use rt::io::native::file;
318+
use rt::io::{Writer, Reader};
318319

319320
#[test]
320321
#[cfg(not(target_os="android"))]
@@ -412,21 +413,21 @@ mod tests {
412413
}
413414
414415
fn writeclose(fd: c_int, s: &str) {
415-
let writer = io::fd_writer(fd, false);
416-
writer.write_str(s);
417-
os::close(fd);
416+
let mut writer = file::FileDesc::new(fd);
417+
writer.write(s.as_bytes());
418418
}
419419
420420
fn readclose(fd: c_int) -> ~str {
421-
#[fixed_stack_segment]; #[inline(never)];
422-
423-
unsafe {
424-
let file = os::fdopen(fd);
425-
let reader = io::FILE_reader(file, false);
426-
let buf = reader.read_whole_stream();
427-
os::fclose(file);
428-
str::from_utf8(buf)
421+
let mut res = ~[];
422+
let mut reader = file::FileDesc::new(fd);
423+
let mut buf = [0, ..1024];
424+
loop {
425+
match reader.read(buf) {
426+
Some(n) => { res.push_all(buf.slice_to(n)); }
427+
None => break
428+
}
429429
}
430+
str::from_utf8_owned(res)
430431
}
431432
432433
#[test]

0 commit comments

Comments
 (0)