Use & instead of calling .as_path()

This commit is contained in:
R-VdP 2023-03-16 13:43:59 +01:00
parent bacaae7878
commit e5f7e5f5f1
No known key found for this signature in database
3 changed files with 11 additions and 17 deletions

View file

@ -167,7 +167,7 @@ fn create_etc_static_link(
) -> (EtcTree, Result<()>) { ) -> (EtcTree, Result<()>) {
let static_path = etc_dir.join(static_dir_name); let static_path = etc_dir.join(static_dir_name);
let (new_state, status) = create_dir_recursively(static_path.parent().unwrap(), state); let (new_state, status) = create_dir_recursively(static_path.parent().unwrap(), state);
match status.and_then(|_| create_store_link(store_path, static_path.as_path())) { match status.and_then(|_| create_store_link(store_path, &static_path)) {
Ok(_) => (new_state.register_managed_entry(&static_path), Ok(())), Ok(_) => (new_state.register_managed_entry(&static_path), Ok(())),
e => (new_state, e), e => (new_state, e),
} }
@ -179,12 +179,11 @@ fn create_etc_link(link_target: &OsStr, etc_dir: &Path, state: EtcTree) -> (EtcT
let (new_state, status) = create_dir_recursively(link_path.parent().unwrap(), state); let (new_state, status) = create_dir_recursively(link_path.parent().unwrap(), state);
match status.and_then(|_| { match status.and_then(|_| {
create_link( create_link(
Path::new(".") &Path::new(".")
.join(SYSTEM_MANAGER_STATIC_NAME) .join(SYSTEM_MANAGER_STATIC_NAME)
.join("etc") .join("etc")
.join(link_target) .join(link_target),
.as_path(), &link_path,
link_path.as_path(),
) )
}) { }) {
Ok(_) => (new_state.register_managed_entry(&link_path), Ok(())), Ok(_) => (new_state.register_managed_entry(&link_path), Ok(())),
@ -208,16 +207,11 @@ fn create_etc_entry(
) )
} }
} else { } else {
let target_path = etc_dir.join(entry.target.as_path()); let target_path = etc_dir.join(&entry.target);
let (new_state, status) = create_dir_recursively(target_path.parent().unwrap(), state); let (new_state, status) = create_dir_recursively(target_path.parent().unwrap(), state);
match status.and_then(|_| { match status.and_then(|_| {
copy_file( copy_file(
entry &entry.source.store_path.join("etc").join(&entry.target),
.source
.store_path
.join("etc")
.join(&entry.target)
.as_path(),
&target_path, &target_path,
&entry.mode, &entry.mode,
old_state, old_state,
@ -244,7 +238,7 @@ fn create_dir_recursively(dir: &Path, state: EtcTree) -> (EtcTree, Result<()>) {
let new_path = path.join(dir); let new_path = path.join(dir);
if !new_path.exists() { if !new_path.exists() {
log::debug!("Creating path: {}", new_path.display()); log::debug!("Creating path: {}", new_path.display());
match dirbuilder.create(new_path.as_path()) { match dirbuilder.create(&new_path) {
Ok(_) => { Ok(_) => {
let new_state = state.register_managed_entry(&new_path); let new_state = state.register_managed_entry(&new_path);
Continue((new_state, new_path, Ok(()))) Continue((new_state, new_path, Ok(())))
@ -287,7 +281,7 @@ fn etc_dir(ephemeral: bool) -> PathBuf {
if ephemeral { if ephemeral {
Path::new("/run").join("etc") Path::new("/run").join("etc")
} else { } else {
Path::new("/etc").to_path_buf() PathBuf::from("/etc")
} }
} }

View file

@ -429,7 +429,7 @@ mod tests {
.register_managed_entry(&PathBuf::from("/").join("foo5").join("bar")); .register_managed_entry(&PathBuf::from("/").join("foo5").join("bar"));
let new_tree = tree1.update_state(tree2, &|path, _status| { let new_tree = tree1.update_state(tree2, &|path, _status| {
println!("Deactivating path: {}", path.display()); println!("Deactivating path: {}", path.display());
path != PathBuf::from("/").join("foo5").join("bar").as_path() *path != PathBuf::from("/").join("foo5").join("bar")
}); });
assert_eq!( assert_eq!(
new_tree.unwrap().nested.keys().sorted().collect::<Vec<_>>(), new_tree.unwrap().nested.keys().sorted().collect::<Vec<_>>(),

View file

@ -120,7 +120,7 @@ pub fn deactivate() -> Result<()> {
fn unlink_services(services: &LinkedServices) -> Result<()> { fn unlink_services(services: &LinkedServices) -> Result<()> {
services services
.values() .values()
.try_for_each(|linked_service| remove_link(linked_service.linked_path().as_path())) .try_for_each(|linked_service| remove_link(&linked_service.linked_path()))
} }
fn link_services(services: Services, ephemeral: bool) -> Result<LinkedServices> { fn link_services(services: Services, ephemeral: bool) -> Result<LinkedServices> {
@ -129,7 +129,7 @@ fn link_services(services: Services, ephemeral: bool) -> Result<LinkedServices>
HashMap::with_capacity(services.len()), HashMap::with_capacity(services.len()),
|mut linked_services, (name, service_config)| { |mut linked_services, (name, service_config)| {
let linked_path = systemd_system_dir.join(name); let linked_path = systemd_system_dir.join(name);
match create_store_link(&service_config.store_path, linked_path.as_path()) { match create_store_link(&service_config.store_path, &linked_path) {
Ok(_) => { Ok(_) => {
linked_services.insert( linked_services.insert(
name.to_owned(), name.to_owned(),