From: Ian Jackson Date: Sun, 9 May 2021 14:58:43 +0000 (+0100) Subject: bundles: Move BufReader into parse_bundle X-Git-Tag: otter-0.6.0~366 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=fe8d50944ac4da7b8b19d58baaf589e91d4162fb;p=otter.git bundles: Move BufReader into parse_bundle Signed-off-by: Ian Jackson --- diff --git a/src/bundles.rs b/src/bundles.rs index 35adbd5f..06dbd255 100644 --- a/src/bundles.rs +++ b/src/bundles.rs @@ -271,11 +271,12 @@ impl ZipArchive where R: Read + io::Seek { } } -pub trait BufReadSeek: BufRead + io::Seek { } -impl BufReadSeek for T where T: BufRead + io::Seek { } +pub trait ReadSeek: Read + io::Seek { } +impl ReadSeek for T where T: Read + io::Seek { } #[throws(LoadError)] -fn parse_bundle(id: Id, file: &mut dyn BufReadSeek) -> Parsed { +fn parse_bundle(id: Id, file: &mut dyn ReadSeek) -> Parsed { + let file = BufReader::new(file); match id.kind { Kind::Zip => () } let mut za = ZipArchive::new(file)?; @@ -301,10 +302,9 @@ fn parse_bundle(id: Id, file: &mut dyn BufReadSeek) -> Parsed { #[throws(LoadError)] fn load_bundle(ib: &mut InstanceBundles, _ig: &mut Instance, id: Id, fpath: &str) { - let file = File::open(fpath) + let mut file = File::open(fpath) .with_context(|| fpath.to_owned()).context("open zipfile") .map_err(IE::from)?; - let mut file = BufReader::new(file); let Parsed { meta } = parse_bundle(id, &mut file)?;