X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fio%2Fbyteio.rs;h=f4816931be11253e1b750c78d1fa85620bf7fb35;hb=0a1d94d94c8c0b1442d701afe6360fc141b4b0c6;hp=9fee3bda0e6c7f101349d689b833737885c02f08;hpb=d532000c8949263f00e6755c6390b3a65eb81b5c;p=nihav.git diff --git a/src/io/byteio.rs b/src/io/byteio.rs index 9fee3bd..f481693 100644 --- a/src/io/byteio.rs +++ b/src/io/byteio.rs @@ -13,7 +13,7 @@ pub enum ByteIOError { SeekError, } -type ByteIOResult = Result; +pub type ByteIOResult = Result; pub trait ByteIO { fn read_buf(&mut self, buf: &mut [u8]) -> ByteIOResult; @@ -190,6 +190,16 @@ impl<'a> ByteReader<'a> { pub fn is_eof(&mut self) -> bool { self.io.is_eof() } + + pub fn size(&mut self) -> i64 { + self.io.size() + } + + pub fn left(&mut self) -> i64 { + let size = self.io.size(); + if size == -1 { return -1; } + return size - (self.io.tell() as i64) + } } impl<'a> MemoryReader<'a> {