tools/fs: change scan_subdir to use filter_file_name_regex
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
53e1e7ca72
commit
806d7a6a35
@ -107,24 +107,8 @@ pub fn scan_subdir<'a, P: ?Sized + nix::NixPath>(
|
|||||||
dirfd: RawFd,
|
dirfd: RawFd,
|
||||||
path: &P,
|
path: &P,
|
||||||
regex: &'a regex::Regex,
|
regex: &'a regex::Regex,
|
||||||
) -> Result<impl Iterator<Item = Result<nix::dir::Entry, Error>> + 'a, Error> {
|
) -> Result<impl Iterator<Item = Result<ReadDirEntry, Error>> + 'a, Error> {
|
||||||
Ok(read_subdir(dirfd, path)?.filter_map(move |entry| {
|
Ok(read_subdir(dirfd, path)?.filter_file_name_regex(regex))
|
||||||
match entry {
|
|
||||||
Ok(entry) => match entry.file_name().to_str() {
|
|
||||||
Ok(name) => {
|
|
||||||
if regex.is_match(name) {
|
|
||||||
Some(Ok(entry))
|
|
||||||
} else {
|
|
||||||
None // Skip values not matching the regex
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Skip values which aren't valid utf-8
|
|
||||||
Err(_) => None,
|
|
||||||
},
|
|
||||||
// Propagate errors through
|
|
||||||
Err(e) => Some(Err(Error::from(e))),
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Helper trait to provide a combinators for directory entry iterators.
|
/// Helper trait to provide a combinators for directory entry iterators.
|
||||||
|
Loading…
Reference in New Issue
Block a user