diff options
| author | Paul Dicker <pitdicker@gmail.com> | 2019-02-20 08:18:29 +0100 |
|---|---|---|
| committer | Paul Dicker <pitdicker@gmail.com> | 2019-02-20 19:27:03 +0100 |
| commit | 6464e32ea97fe0b18f75becc82cba9b19dfe453c (patch) | |
| tree | 51fd2b3c7c2b6a1101419114a37839bb28ed7bc2 /src/libstd/sys/redox/stdio.rs | |
| parent | b09803e8694b3ad83f988e30b4f0a3903ebe2632 (diff) | |
| download | rust-6464e32ea97fe0b18f75becc82cba9b19dfe453c.tar.gz rust-6464e32ea97fe0b18f75becc82cba9b19dfe453c.zip | |
Use standard Read/Write traits in sys::stdio
Diffstat (limited to 'src/libstd/sys/redox/stdio.rs')
| -rw-r--r-- | src/libstd/sys/redox/stdio.rs | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/libstd/sys/redox/stdio.rs b/src/libstd/sys/redox/stdio.rs index 66f84e17527..b4eb01fd6cc 100644 --- a/src/libstd/sys/redox/stdio.rs +++ b/src/libstd/sys/redox/stdio.rs @@ -8,10 +8,12 @@ pub struct Stderr(()); impl Stdin { pub fn new() -> io::Result<Stdin> { Ok(Stdin(())) } +} - pub fn read(&self, data: &mut [u8]) -> io::Result<usize> { +impl io::Read for Stdin { + fn read(&mut self, buf: &mut [u8]) -> io::Result<usize> { let fd = FileDesc::new(0); - let ret = fd.read(data); + let ret = fd.read(buf); fd.into_raw(); ret } @@ -19,30 +21,34 @@ impl Stdin { impl Stdout { pub fn new() -> io::Result<Stdout> { Ok(Stdout(())) } +} - pub fn write(&self, data: &[u8]) -> io::Result<usize> { +impl io::Write for Stdout { + fn write(&mut self, buf: &[u8]) -> io::Result<usize> { let fd = FileDesc::new(1); - let ret = fd.write(data); + let ret = fd.write(buf); fd.into_raw(); ret } - pub fn flush(&self) -> io::Result<()> { + fn flush(&mut self) -> io::Result<()> { cvt(syscall::fsync(1)).and(Ok(())) } } impl Stderr { pub fn new() -> io::Result<Stderr> { Ok(Stderr(())) } +} - pub fn write(&self, data: &[u8]) -> io::Result<usize> { +impl io::Write for Stderr { + fn write(&mut self, buf: &[u8]) -> io::Result<usize> { let fd = FileDesc::new(2); - let ret = fd.write(data); + let ret = fd.write(buf); fd.into_raw(); ret } - pub fn flush(&self) -> io::Result<()> { + fn flush(&mut self) -> io::Result<()> { cvt(syscall::fsync(2)).and(Ok(())) } } |
