Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
.context("open bundle file")?;
let mut f = BufReader::new(f);
let hash = {
- let mut dw = DigestWrite::<bundles::Digester,_>::new(io::sink());
+ let mut dw = DigestWrite::<bundles::Digester,_>::sink();
io::copy(&mut f, &mut dw).context("read bundle file (for hash)")?;
dw.finish().0
};
(self.d.finalize(), self.w)
}
}
+impl<D: Digest> DigestWrite<D, io::Sink> {
+ pub fn sink() -> Self { DigestWrite::new(io::sink()) }
+}
impl<D: Digest, W: Write> Write for DigestWrite<D, W> {
#[throws(io::Error)]