let len = self.max_read_len(buf.len());
match self.file.read_exact(&mut buf[..len]) {
Ok(()) if len == buf.len() => Ok(buf.len()),
let len = self.max_read_len(buf.len());
match self.file.read_exact(&mut buf[..len]) {
Ok(()) if len == buf.len() => Ok(buf.len()),
let len = self.max_read_len(buf.len());
let ret = self.file.read(&mut buf[..len]);
if ret.is_err() { return Err(ByteIOError::ReadError); }
let sz = ret.unwrap();
if sz < len {
let len = self.max_read_len(buf.len());
let ret = self.file.read(&mut buf[..len]);
if ret.is_err() { return Err(ByteIOError::ReadError); }
let sz = ret.unwrap();
if sz < len {