chiark / gitweb /
bundles: Move BufReader out of image_usvg
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 22 May 2021 21:18:25 +0000 (22:18 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 22 May 2021 21:21:44 +0000 (22:21 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bundles.rs

index ceb2929a6070d8c2302801cc35700aef0c7ae266..9b285562b47ccd83352e7e4082fb725199282362 100644 (file)
@@ -717,7 +717,7 @@ enum PictureFormat {
 }
 
 #[throws(LE)]
-fn image_usvg(zfname: &str, input: File, output: File,
+fn image_usvg(zfname: &str, mut input: BufReader<File>, output: File,
               format: image::ImageFormat, ctype: &'static str) {
   #[derive(Serialize,Copy,Clone,Debug)]
   struct Render {
@@ -726,7 +726,6 @@ fn image_usvg(zfname: &str, input: File, output: File,
     ctype: &'static str,
   }
 
-  let mut input = BufReader::new(input);
   let mut output = BufWriter::new(output);
 
   let image = image::io::Reader::with_format(&mut input, format);
@@ -850,7 +849,10 @@ fn make_usvg(za: &mut IndexedZip, progress_count: &mut usize,
       let size = usvg_size(&mut BufReader::new(t_f))?;
       dbgc!(size);
     },
-    PF::Png => image_usvg(zf.name(),input,output, IF::Png, "image/png")?,
+    PF::Png => {
+      let input = BufReader::new(input);
+      image_usvg(zf.name(),input,output, IF::Png, "image/png")?;
+    },
   }
 }