From: Ian Jackson Date: Mon, 2 May 2022 10:35:46 +0000 (+0100) Subject: svg size handling: Break out tokens as mut iterator X-Git-Tag: otter-1.1.0~313 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=5fcf9878d34e1ae1e9c7e9133737d71bff1aa0d8;p=otter.git svg size handling: Break out tokens as mut iterator We're going to restructure this to be a bit more like the structure in bundles. Signed-off-by: Ian Jackson --- diff --git a/src/utils.rs b/src/utils.rs index 90a0903d..c0968f58 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -224,11 +224,14 @@ pub enum SVGSizeError { #[throws(SVGSizeError)] pub fn svg_parse_size(xml: &str) -> Option> { + let mut tokens = xmlparser::Tokenizer::from(xml) + .map(|t| t.map_err(|e| SvSE::ParseError(e.to_string()))); + use xmlparser::Token as Tk; let mut in_svg_element = false; let mut wh = [None; 2]; - for token in xmlparser::Tokenizer::from(xml) { - match token.map_err(|e| SvSE::ParseError(e.to_string()))? { + for token in &mut tokens { + match token? { Tk::ElementStart{ local, .. } => { in_svg_element = local.eq_ignore_ascii_case("svg"); },