use std::path::{Path, PathBuf};
use endian_trait::Endian;
-use failure::*;
+use anyhow::{bail, format_err, Error};
use nix::errno::Errno;
use nix::fcntl::OFlag;
use nix::sys::stat::FileStat;
Err(err) => bail!("read_xattrs failed for {:?} - {}", self.full_path(), err),
};
- for name in xattr_names.split(|c| *c == b'\0') {
+ for name in &xattr_names {
// Only extract the relevant extended attributes
if !xattr::is_valid_xattr_name(&name) {
continue;
}
} else if self.has_features(flags::WITH_XATTRS) {
xattrs.push(PxarXAttr {
- name: name.to_vec(),
+ name: name.to_bytes().to_vec(),
value,
});
}
(MatchType::Positive, _) => {
let filename_osstr = std::ffi::OsStr::from_bytes(filename.to_bytes());
eprintln!(
- "matched by .pxarexclude entry - skipping: {:?}",
+ "matched by exclude pattern - skipping: {:?}",
self.full_path().join(filename_osstr)
);
}
if pos != size {
// Note:: casync format cannot handle that
bail!(
- "detected shrinked file {:?} ({} < {})",
+ "detected shrunk file {:?} ({} < {})",
self.full_path(),
pos,
size