src/pxar/format_definition.rs: style fixup

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
Christian Ebner 2019-08-22 14:46:21 +02:00 committed by Wolfgang Bumiller
parent 7d83440c60
commit 4ea22b68d9
1 changed files with 27 additions and 28 deletions

View File

@ -4,11 +4,10 @@
//! //!
//! The Archive contains a list of items. Each item starts with a //! The Archive contains a list of items. Each item starts with a
//! `PxarHeader`, followed by the item data. //! `PxarHeader`, followed by the item data.
use failure::*;
use std::cmp::Ordering; use std::cmp::Ordering;
use endian_trait::Endian;
use endian_trait::Endian;
use failure::{bail, Error};
use siphasher::sip::SipHasher24; use siphasher::sip::SipHasher24;
/// Header types identifying items stored in the archive /// Header types identifying items stored in the archive
@ -36,8 +35,7 @@ pub const PXAR_GOODBYE: u64 = 0xdfd35c5e8327c403;
/// The end marker used in the GOODBYE object /// The end marker used in the GOODBYE object
pub const PXAR_GOODBYE_TAIL_MARKER: u64 = 0x57446fa533702943; pub const PXAR_GOODBYE_TAIL_MARKER: u64 = 0x57446fa533702943;
#[derive(Debug)] #[derive(Debug, Endian)]
#[derive(Endian)]
#[repr(C)] #[repr(C)]
pub struct PxarHeader { pub struct PxarHeader {
/// The size of the item, including the size of `PxarHeader`. /// The size of the item, including the size of `PxarHeader`.
@ -79,7 +77,6 @@ pub struct PxarGoodbyeItem {
pub hash: u64, pub hash: u64,
} }
/// Helper function to extract file names from binary archive. /// Helper function to extract file names from binary archive.
pub fn read_os_string(buffer: &[u8]) -> std::ffi::OsString { pub fn read_os_string(buffer: &[u8]) -> std::ffi::OsString {
let len = buffer.len(); let len = buffer.len();
@ -238,7 +235,6 @@ pub struct PxarAttributes {
/// Create SipHash values for goodby tables. /// Create SipHash values for goodby tables.
//pub fn compute_goodbye_hash(name: &std::ffi::CStr) -> u64 { //pub fn compute_goodbye_hash(name: &std::ffi::CStr) -> u64 {
pub fn compute_goodbye_hash(name: &[u8]) -> u64 { pub fn compute_goodbye_hash(name: &[u8]) -> u64 {
use std::hash::Hasher; use std::hash::Hasher;
let mut hasher = SipHasher24::new_with_keys(0x8574442b0f1d84b3, 0x2736ed30d1c22ec1); let mut hasher = SipHasher24::new_with_keys(0x8574442b0f1d84b3, 0x2736ed30d1c22ec1);
hasher.write(name); hasher.write(name);
@ -247,7 +243,11 @@ pub fn compute_goodbye_hash(name: &[u8]) -> u64 {
pub fn check_ca_header<T>(head: &PxarHeader, htype: u64) -> Result<(), Error> { pub fn check_ca_header<T>(head: &PxarHeader, htype: u64) -> Result<(), Error> {
if head.htype != htype { if head.htype != htype {
bail!("got wrong header type ({:016x} != {:016x})", head.htype, htype); bail!(
"got wrong header type ({:016x} != {:016x})",
head.htype,
htype
);
} }
if head.size != (std::mem::size_of::<T>() + std::mem::size_of::<PxarHeader>()) as u64 { if head.size != (std::mem::size_of::<T>() + std::mem::size_of::<PxarHeader>()) as u64 {
bail!("got wrong header size for type {:016x}", htype); bail!("got wrong header size for type {:016x}", htype);
@ -255,4 +255,3 @@ pub fn check_ca_header<T>(head: &PxarHeader, htype: u64) -> Result<(), Error> {
Ok(()) Ok(())
} }