diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/diag.rs | 12 | ||||
| -rw-r--r-- | src/image.rs | 6 |
2 files changed, 10 insertions, 8 deletions
diff --git a/src/diag.rs b/src/diag.rs index c1a7c834..88141062 100644 --- a/src/diag.rs +++ b/src/diag.rs @@ -249,31 +249,31 @@ impl From<FileError> for EcoString { } /// Format a user-facing error message for an XML-like file format. -pub fn format_xml_like_error(format: &str, error: roxmltree::Error) -> String { +pub fn format_xml_like_error(format: &str, error: roxmltree::Error) -> EcoString { match error { roxmltree::Error::UnexpectedCloseTag { expected, actual, pos } => { - format!( + eco_format!( "failed to parse {format}: found closing tag '{actual}' \ instead of '{expected}' in line {}", pos.row ) } roxmltree::Error::UnknownEntityReference(entity, pos) => { - format!( + eco_format!( "failed to parse {format}: unknown entity '{entity}' in line {}", pos.row ) } roxmltree::Error::DuplicatedAttribute(attr, pos) => { - format!( + eco_format!( "failed to parse {format}: duplicate attribute '{attr}' in line {}", pos.row ) } roxmltree::Error::NoRootNode => { - format!("failed to parse {format}: missing root node") + eco_format!("failed to parse {format}: missing root node") } roxmltree::Error::SizeLimit => "file is too large".into(), - _ => format!("failed to parse {format}"), + _ => eco_format!("failed to parse {format}"), } } diff --git a/src/image.rs b/src/image.rs index 44b00adb..23ea60f5 100644 --- a/src/image.rs +++ b/src/image.rs @@ -3,6 +3,8 @@ use std::io; use std::sync::Arc; +use ecow::EcoString; + use crate::diag::{format_xml_like_error, StrResult}; use crate::util::Buffer; @@ -152,7 +154,7 @@ fn determine_size(data: &Buffer, format: ImageFormat) -> StrResult<(u32, u32)> { } /// Format the user-facing raster graphic decoding error message. -fn format_image_error(error: image::ImageError) -> String { +fn format_image_error(error: image::ImageError) -> EcoString { match error { image::ImageError::Limits(_) => "file is too large".into(), _ => "failed to decode image".into(), @@ -160,7 +162,7 @@ fn format_image_error(error: image::ImageError) -> String { } /// Format the user-facing SVG decoding error message. -fn format_usvg_error(error: usvg::Error) -> String { +fn format_usvg_error(error: usvg::Error) -> EcoString { match error { usvg::Error::NotAnUtf8Str => "file is not valid utf-8".into(), usvg::Error::MalformedGZip => "file is not compressed correctly".into(), |
