chiark / gitweb /
parse float
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 12 Jul 2020 12:04:30 +0000 (13:04 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 12 Jul 2020 12:04:30 +0000 (13:04 +0100)
src/pieces.rs

index 42db5809b8e391124dfd7a1d7592730c2f2043cd..1131db660dd93196ed872e1ce1bdbbf4f886d08d 100644 (file)
@@ -24,6 +24,7 @@ pub enum SVGProcessError {
 }
 display_as_debug!{SVGProcessError}
 error_from_losedetails!{SVGProcessError, WriteFail, fmt::Error}
+error_from_losedetails!{SVGProcessError, BadNumber, std::num::ParseFloatError}
 
 #[throws(SVGProcessError)]
 pub fn svg_rescale_path(input: &str, scale: f64) -> String {
@@ -59,7 +60,7 @@ pub fn svg_rescale_path(input: &str, scale: f64) -> String {
       "z"                   => map.reset(),
       v if v.starts_with(|s:char| s=='-' || s=='.' || s.is_ascii_digit()) => {
         if map.next() {
-          let v : f64 = v.parse().map_err(|_| BadNumber)?;
+          let v : f64 = v.parse()?;
           write!(&mut out, "{} ", v * scale)?;
           continue;
         }