summaryrefslogtreecommitdiff
path: root/src/image.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-04-18 14:31:09 +0200
committerLaurenz <laurmaedje@gmail.com>2023-04-18 14:31:32 +0200
commitbce83d330f0efc0f8cdd6fb01d8244cb9f01ac27 (patch)
tree9e5d7add02a59b64725e25f866eb223514716a8f /src/image.rs
parent4613739748bd3110a96a2883440d6e36448729a1 (diff)
Remove intermediate strings in error message
Diffstat (limited to 'src/image.rs')
-rw-r--r--src/image.rs6
1 files changed, 4 insertions, 2 deletions
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(),