diff --git a/src/pxar/sequential_decoder.rs b/src/pxar/sequential_decoder.rs index e1620e7d..78d8f3e4 100644 --- a/src/pxar/sequential_decoder.rs +++ b/src/pxar/sequential_decoder.rs @@ -272,19 +272,19 @@ impl SequentialDecoder { acl.add_entry_full( acl::ACL_USER_OBJ, None, - mode_user_to_acl_permissions(entry.mode), + acl::mode_user_to_acl_permissions(entry.mode), )?; acl.add_entry_full( acl::ACL_OTHER, None, - mode_other_to_acl_permissions(entry.mode), + acl::mode_other_to_acl_permissions(entry.mode), )?; match &attr.acl_group_obj { Some(group_obj) => { acl.add_entry_full( acl::ACL_MASK, None, - mode_group_to_acl_permissions(entry.mode), + acl::mode_group_to_acl_permissions(entry.mode), )?; acl.add_entry_full(acl::ACL_GROUP_OBJ, None, group_obj.permissions)?; } @@ -292,7 +292,7 @@ impl SequentialDecoder { acl.add_entry_full( acl::ACL_GROUP_OBJ, None, - mode_group_to_acl_permissions(entry.mode), + acl::mode_group_to_acl_permissions(entry.mode), )?; } } @@ -1175,15 +1175,3 @@ fn nsec_to_update_timespec(mtime_nsec: u64) -> [libc::timespec; 2] { times } - -fn mode_user_to_acl_permissions(mode: u64) -> u64 { - (mode >> 6) & 7 -} - -fn mode_group_to_acl_permissions(mode: u64) -> u64 { - (mode >> 3) & 7 -} - -fn mode_other_to_acl_permissions(mode: u64) -> u64 { - mode & 7 -} diff --git a/src/tools/acl.rs b/src/tools/acl.rs index 1abbd459..596c4348 100644 --- a/src/tools/acl.rs +++ b/src/tools/acl.rs @@ -270,3 +270,18 @@ impl<'a> Iterator for &'a mut ACLEntriesIterator { None } } + +/// Helper to transform `PxarEntry`s user mode to acl permissions. +pub fn mode_user_to_acl_permissions(mode: u64) -> u64 { + (mode >> 6) & 7 +} + +/// Helper to transform `PxarEntry`s group mode to acl permissions. +pub fn mode_group_to_acl_permissions(mode: u64) -> u64 { + (mode >> 3) & 7 +} + +/// Helper to transform `PxarEntry`s other mode to acl permissions. +pub fn mode_other_to_acl_permissions(mode: u64) -> u64 { + mode & 7 +}