diff --git a/pbs-client/src/backup_writer.rs b/pbs-client/src/backup_writer.rs index 20ae6e2c..531de2e8 100644 --- a/pbs-client/src/backup_writer.rs +++ b/pbs-client/src/backup_writer.rs @@ -338,7 +338,7 @@ impl BackupWriter { let size_dirty = upload_stats.size - upload_stats.size_reused; let size: HumanByte = upload_stats.size.into(); let archive = if self.verbose { - archive_name.to_string() + archive_name } else { pbs_tools::format::strip_server_file_extension(archive_name) }; diff --git a/pbs-client/src/tools/mod.rs b/pbs-client/src/tools/mod.rs index 2c1c6e6c..f3d63ae5 100644 --- a/pbs-client/src/tools/mod.rs +++ b/pbs-client/src/tools/mod.rs @@ -306,7 +306,7 @@ pub async fn complete_server_file_name_do(param: &HashMap) -> Ve pub fn complete_archive_name(arg: &str, param: &HashMap) -> Vec { complete_server_file_name(arg, param) .iter() - .map(|v| pbs_tools::format::strip_server_file_extension(&v)) + .map(|v| pbs_tools::format::strip_server_file_extension(&v).to_owned()) .collect() } @@ -315,7 +315,7 @@ pub fn complete_pxar_archive_name(arg: &str, param: &HashMap) -> .iter() .filter_map(|name| { if name.ends_with(".pxar.didx") { - Some(pbs_tools::format::strip_server_file_extension(name)) + Some(pbs_tools::format::strip_server_file_extension(name).to_owned()) } else { None } @@ -328,7 +328,7 @@ pub fn complete_img_archive_name(arg: &str, param: &HashMap) -> .iter() .filter_map(|name| { if name.ends_with(".img.fidx") { - Some(pbs_tools::format::strip_server_file_extension(name)) + Some(pbs_tools::format::strip_server_file_extension(name).to_owned()) } else { None } diff --git a/pbs-tools/src/format.rs b/pbs-tools/src/format.rs index b7b3544d..88714003 100644 --- a/pbs-tools/src/format.rs +++ b/pbs-tools/src/format.rs @@ -1,17 +1,19 @@ +use std::borrow::Borrow; + use anyhow::{Error}; use serde_json::Value; -pub fn strip_server_file_extension(name: &str) -> String { +pub fn strip_server_file_extension(name: &str) -> &str { if name.ends_with(".didx") || name.ends_with(".fidx") || name.ends_with(".blob") { - name[..name.len()-5].to_owned() + &name[..name.len()-5] } else { - name.to_owned() // should not happen + name // should not happen } } -pub fn render_backup_file_list(files: &[String]) -> String { - let mut files: Vec = files.iter() - .map(|v| strip_server_file_extension(&v)) +pub fn render_backup_file_list>(files: &[S]) -> String { + let mut files: Vec<&str> = files.iter() + .map(|v| strip_server_file_extension(v.borrow())) .collect(); files.sort();