}
fn tell(&mut self) -> u64 {
- self.file.seek(SeekFrom::Current(0)).unwrap()
+ self.file.stream_position().unwrap()
}
fn seek(&mut self, pos: SeekFrom) -> ByteIOResult<u64> {
/// Destroys the reader and releases the reader resource for a further use.
pub fn finish(self) -> Box<T> { self.file }
fn real_tell(&mut self) -> u64 {
- self.file.seek(SeekFrom::Current(0)).unwrap()
+ self.file.stream_position().unwrap()
}
fn max_read_len(&mut self, len: usize) -> usize {
if let Some(epos) = self.end {
if ret.is_err() { return Err(ByteIOError::ReadError); }
let sz = ret.unwrap();
if sz < len {
- if let Err(_err) = self.file.read(&mut buf[sz..][..1]) {
- self.eof = true;
- if sz == 0 {
- return Err(ByteIOError::EOF);
- }
- } else {
+ if let Ok(1) = self.file.read(&mut buf[sz..][..1]) {
return Ok(sz + 1);
}
+ self.eof = true;
+ if sz == 0 {
+ return Err(ByteIOError::EOF);
+ }
}
Ok(sz)
}
}
fn tell(&mut self) -> u64 {
- self.file.seek(SeekFrom::Current(0)).unwrap() - self.start
+ self.file.stream_position().unwrap() - self.start
}
fn seek(&mut self, pos: SeekFrom) -> ByteIOResult<u64> {
}
fn tell(&mut self) -> u64 {
- self.file.seek(SeekFrom::Current(0)).unwrap()
+ self.file.stream_position().unwrap()
}
fn seek(&mut self, pos: SeekFrom) -> ByteIOResult<u64> {