Ok(dir) => dir,
Err(nix::Error::Sys(Errno::ENOENT)) => {
self.report_vanished_file(&self.full_path())?;
- continue; // fixme!!
+ self.relative_path.pop();
+ continue;
}
Err(err) => bail!("open dir {:?} failed - {}", self.full_path(), err),
};
Ok(filefd) => filefd,
Err(nix::Error::Sys(Errno::ENOENT)) => {
self.report_vanished_file(&self.full_path())?;
+ self.relative_path.pop();
continue;
}
Err(err) => bail!("open file {:?} failed - {}", self.full_path(), err),
}
Err(nix::Error::Sys(Errno::ENOENT)) => {
self.report_vanished_file(&self.full_path())?;
+ self.relative_path.pop();
continue;
}
Err(err) => bail!("readlink {:?} failed - {}", self.full_path(), err),
self.encode_device(&stat)?;
} else {
eprintln!("skip device node: {:?}", self.full_path());
+ self.relative_path.pop();
+ continue;
}
} else if is_fifo(&stat) {
if self.has_features(flags::WITH_FIFOS) {
self.encode_special(&stat)?;
} else {
eprintln!("skip fifo: {:?}", self.full_path());
+ self.relative_path.pop();
+ continue;
}
} else if is_socket(&stat) {
if self.has_features(flags::WITH_SOCKETS) {
self.encode_special(&stat)?;
} else {
eprintln!("skip socket: {:?}", self.full_path());
+ self.relative_path.pop();
+ continue;
}
} else {
bail!(