mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
Fix io::Take::read_buf
This commit is contained in:
parent
9d6039ccae
commit
ba3b536e20
@ -2941,7 +2941,7 @@ impl<T: Read> Read for Take<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let mut cursor = sliced_buf.unfilled();
|
let mut cursor = sliced_buf.unfilled();
|
||||||
self.inner.read_buf(cursor.reborrow())?;
|
let result = self.inner.read_buf(cursor.reborrow());
|
||||||
|
|
||||||
let new_init = cursor.init_ref().len();
|
let new_init = cursor.init_ref().len();
|
||||||
let filled = sliced_buf.len();
|
let filled = sliced_buf.len();
|
||||||
@ -2956,13 +2956,14 @@ impl<T: Read> Read for Take<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
self.limit -= filled as u64;
|
self.limit -= filled as u64;
|
||||||
|
|
||||||
|
result
|
||||||
} else {
|
} else {
|
||||||
let written = buf.written();
|
let written = buf.written();
|
||||||
self.inner.read_buf(buf.reborrow())?;
|
let result = self.inner.read_buf(buf.reborrow());
|
||||||
self.limit -= (buf.written() - written) as u64;
|
self.limit -= (buf.written() - written) as u64;
|
||||||
|
result
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user