chiark / gitweb /
utils: provide DigestWrite::sink
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 3 May 2021 18:51:36 +0000 (19:51 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 3 May 2021 18:51:36 +0000 (19:51 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bin/otter.rs
src/utils.rs

index 13f708a1d8343954f99a2c31571f863b2fcb5989..a90d25f119f8213f5f1f5fb91a19a11b492ffed5 100644 (file)
@@ -1342,7 +1342,7 @@ mod upload_bundle {
       .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
     };
index 204a3679e2f4653147b06511387e4fb58095d4fc..fd27c32a902bcbc7dc327e42f906ded1a7460849 100644 (file)
@@ -582,6 +582,9 @@ impl<D: Digest, W: Write> DigestWrite<D, W> {
     (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)]