From 9307279faf075a4c63f2cad548473ad3d787fd92 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Fri, 15 Mar 2019 10:18:28 +0100 Subject: [PATCH] cleanup: remove dead code --- src/pxar/decoder.rs | 70 ++-------------------------------- src/pxar/sequential_decoder.rs | 13 ++++--- 2 files changed, 10 insertions(+), 73 deletions(-) diff --git a/src/pxar/decoder.rs b/src/pxar/decoder.rs index d317ac0c..c83da3c3 100644 --- a/src/pxar/decoder.rs +++ b/src/pxar/decoder.rs @@ -3,25 +3,15 @@ //! This module contain the code to decode *pxar* archive files. use failure::*; -use endian_trait::Endian; use super::format_definition::*; use super::sequential_decoder::*; -use crate::tools; -use std::io::{Read, Write, Seek, SeekFrom}; +use std::io::{Read, Seek, SeekFrom}; use std::path::{Path, PathBuf}; -use std::os::unix::io::AsRawFd; -use std::os::unix::io::RawFd; -use std::os::unix::io::FromRawFd; -use std::os::unix::ffi::{OsStrExt, OsStringExt}; -use std::ffi::{OsStr, OsString}; +use std::ffi::OsString; -use nix::fcntl::OFlag; -use nix::sys::stat::Mode; -use nix::errno::Errno; -use nix::NixPath; pub struct CaDirectoryEntry { start: u64, @@ -214,9 +204,7 @@ impl <'a, R: Read + Seek> Decoder<'a, R> { let ifmt = mode & libc::S_IFMT; - let osstr: &OsStr = prefix.as_ref(); - output.write(osstr.as_bytes())?; - output.write(b"\n")?; + writeln!(output, "{:?}", prefix)?; if ifmt == libc::S_IFDIR { self.print_filenames(output, prefix, item)?; @@ -234,55 +222,3 @@ impl <'a, R: Read + Seek> Decoder<'a, R> { Ok(()) } } - -fn file_openat(parent: RawFd, filename: &OsStr, flags: OFlag, mode: Mode) -> Result { - - let fd = filename.with_nix_path(|cstr| { - nix::fcntl::openat(parent, cstr.as_ref(), flags, mode) - })??; - - let file = unsafe { std::fs::File::from_raw_fd(fd) }; - - Ok(file) -} - -fn dir_mkdirat(parent: RawFd, filename: &OsStr) -> Result { - - // call mkdirat first - let res = filename.with_nix_path(|cstr| unsafe { - libc::mkdirat(parent, cstr.as_ptr(), libc::S_IRWXU) - })?; - Errno::result(res)?; - - let dir = nix::dir::Dir::openat(parent, filename, OFlag::O_DIRECTORY, Mode::empty())?; - - Ok(dir) -} - -fn symlinkat(target: &Path, parent: RawFd, linkname: &OsStr) -> Result<(), Error> { - - target.with_nix_path(|target| { - linkname.with_nix_path(|linkname| { - let res = unsafe { libc::symlinkat(target.as_ptr(), parent, linkname.as_ptr()) }; - Errno::result(res)?; - Ok(()) - })? - })? -} - -fn nsec_to_update_timespec(mtime_nsec: u64) -> [libc::timespec; 2] { - - // restore mtime - const UTIME_OMIT: i64 = ((1 << 30) - 2); - const NANOS_PER_SEC: i64 = 1_000_000_000; - - let sec = (mtime_nsec as i64) / NANOS_PER_SEC; - let nsec = (mtime_nsec as i64) % NANOS_PER_SEC; - - let times: [libc::timespec; 2] = [ - libc::timespec { tv_sec: 0, tv_nsec: UTIME_OMIT }, - libc::timespec { tv_sec: sec, tv_nsec: nsec }, - ]; - - times -} diff --git a/src/pxar/sequential_decoder.rs b/src/pxar/sequential_decoder.rs index 0ace15a9..9f2c59bc 100644 --- a/src/pxar/sequential_decoder.rs +++ b/src/pxar/sequential_decoder.rs @@ -541,15 +541,16 @@ impl <'a, R: Read> SequentialDecoder<'a, R> { table_size: usize, ) -> Result<(), Error> { - let item_size = std::mem::size_of::(); - if table_size < item_size { - bail!("Goodbye table to small ({} < {})", table_size, item_size); + const GOODBYE_ITEM_SIZE: usize = std::mem::size_of::(); + + if table_size < GOODBYE_ITEM_SIZE { + bail!("Goodbye table to small ({} < {})", table_size, GOODBYE_ITEM_SIZE); } - if (table_size % item_size) != 0 { + if (table_size % GOODBYE_ITEM_SIZE) != 0 { bail!("Goodbye table with strange size ({})", table_size); } - let entries = table_size / item_size; + let entries = table_size / GOODBYE_ITEM_SIZE; if entry_count != (entries - 1) { bail!("Goodbye table with wrong entry count ({} != {})", entry_count, entries - 1); @@ -568,7 +569,7 @@ impl <'a, R: Read> SequentialDecoder<'a, R> { break; } println!("Goodby item: offset {}, size {}, hash {:016x}", item.offset, item.size, item.hash); - if count >= (table_size / item_size) { + if count >= entries { bail!("too many goodbye items (no tail marker)"); } }