]> git.nihav.org Git - nihav.git/blobdiff - src/io/byteio.rs
io: make writer consume outputter
[nihav.git] / src / io / byteio.rs
index 497e8cc9ce1f3331da5c31ba5e681a2a2b3464f3..e172a325d223e19ff512a6f553b9c4aa083293f1 100644 (file)
@@ -13,7 +13,7 @@ pub enum ByteIOError {
     SeekError,
 }
 
-type ByteIOResult<T> = Result<T, ByteIOError>;
+pub type ByteIOResult<T> = Result<T, ByteIOError>;
 
 pub trait ByteIO {
     fn read_buf(&mut self, buf: &mut [u8]) -> ByteIOResult<usize>;
@@ -166,7 +166,7 @@ impl<'a> ByteReader<'a> {
         } else {
             let mut ssize = len;
             let mut buf : [u8; 16] = [0; 16];
-            let mut bref = &mut buf;
+            let bref = &mut buf;
             while ssize > bref.len() {
                 self.io.read_buf(bref)?;
                 ssize -= bref.len();
@@ -370,8 +370,8 @@ pub struct MemoryWriter<'a> {
     pos:      usize,
 }
 
-pub struct FileWriter<'a> {
-    file:     &'a File,
+pub struct FileWriter {
+    file:     File,
 }
 
 impl<'a> ByteWriter<'a> {
@@ -519,13 +519,13 @@ impl<'a> ByteIO for MemoryWriter<'a> {
     }
 }
 
-impl<'a> FileWriter<'a> {
-    pub fn new_write(file: &'a mut File) -> Self {
+impl FileWriter {
+    pub fn new_write(file: File) -> Self {
         FileWriter { file: file }
     }
 }
 
-impl<'a> ByteIO for FileWriter<'a> {
+impl ByteIO for FileWriter {
     #[allow(unused_variables)]
     fn read_byte(&mut self) -> ByteIOResult<u8> {
         Err(ByteIOError::NotImplemented)