mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-04-04 22:39:46 +00:00
fix s9pk reader pos update
This commit is contained in:
committed by
Aiden McClelland
parent
3f096bae60
commit
c413814ac4
@@ -31,7 +31,7 @@ pub struct ReadHandle<'a, R: AsyncRead + AsyncSeek + Unpin = File> {
|
|||||||
impl<'a, R: AsyncRead + AsyncSeek + Unpin> ReadHandle<'a, R> {
|
impl<'a, R: AsyncRead + AsyncSeek + Unpin> ReadHandle<'a, R> {
|
||||||
pub async fn to_vec(mut self) -> std::io::Result<Vec<u8>> {
|
pub async fn to_vec(mut self) -> std::io::Result<Vec<u8>> {
|
||||||
let mut buf = vec![0; self.rdr.limit() as usize];
|
let mut buf = vec![0; self.rdr.limit() as usize];
|
||||||
self.rdr.read_exact(&mut buf).await?;
|
self.read_exact(&mut buf).await?;
|
||||||
Ok(buf)
|
Ok(buf)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -44,10 +44,9 @@ impl<'a, R: AsyncRead + AsyncSeek + Unpin> AsyncRead for ReadHandle<'a, R> {
|
|||||||
let start = buf.filled().len();
|
let start = buf.filled().len();
|
||||||
let this = self.project();
|
let this = self.project();
|
||||||
let pos = this.pos;
|
let pos = this.pos;
|
||||||
AsyncRead::poll_read(this.rdr, cx, buf).map(|res| {
|
let res = AsyncRead::poll_read(this.rdr, cx, buf);
|
||||||
**pos += (buf.filled().len() - start) as u64;
|
**pos += (buf.filled().len() - start) as u64;
|
||||||
res
|
res
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user