From: Ian Jackson Date: Sat, 14 May 2022 10:01:44 +0000 (+0100) Subject: shapelib: Break out format_item_name X-Git-Tag: otter-1.1.0~198 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=8a4eb5386a63c956be145e26a4d73c68287c3ff8;p=otter.git shapelib: Break out format_item_name Signed-off-by: Ian Jackson --- diff --git a/src/shapelib.rs b/src/shapelib.rs index a6b7c9a8..d4f29abb 100644 --- a/src/shapelib.rs +++ b/src/shapelib.rs @@ -1130,6 +1130,13 @@ fn subst(before: &str, needle: &'static str, replacement: &str) + rhs } +#[throws(LibraryLoadError)] +fn format_item_name(item_prefix: &str, fe: &FileData, item_suffix: &str) + -> GoodItemName { + format!("{}{}{}", item_prefix, fe.item_spec, item_suffix) + .try_into()? +} + #[throws(LibraryLoadError)] fn process_files_entry( src: &mut dyn LibrarySource, l: &mut Catalogue, @@ -1137,9 +1144,7 @@ fn process_files_entry( group: &Arc, shape_calculable: ShapeCalculable, fe: FileData ) { - let item_name = format!("{}{}{}", item_prefix, - fe.item_spec, item_suffix); - let item_name: GoodItemName = item_name.try_into()?; + let item_name = format_item_name(item_prefix, &fe, item_suffix)?; let sort = match (sort, fe.extra_fields.get("sort")) { ("", None) => None,