Return iterator instead of dir
This commit is contained in:
parent
d687898c54
commit
16c99d1c9c
|
@ -27,7 +27,7 @@ fn run_main() -> Result<(), Error> {
|
||||||
match element {
|
match element {
|
||||||
DirectoryIteratorElement::Root(root) => println!("{}", root),
|
DirectoryIteratorElement::Root(root) => println!("{}", root),
|
||||||
DirectoryIteratorElement::Data(data) => println!("{}", data),
|
DirectoryIteratorElement::Data(data) => println!("{}", data),
|
||||||
DirectoryIteratorElement::Directory(dir) => dump_dir(dir.iter()),
|
DirectoryIteratorElement::Directory(dir) => dump_dir(dir),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ impl<'a> std::iter::Iterator for DirectoryIterator<'a> {
|
||||||
DirectoryIteratorState::Directory(mut iter) => {
|
DirectoryIteratorState::Directory(mut iter) => {
|
||||||
if let Some(dir) = iter.next() {
|
if let Some(dir) = iter.next() {
|
||||||
self.state = DirectoryIteratorState::Directory(iter);
|
self.state = DirectoryIteratorState::Directory(iter);
|
||||||
return Some(DirectoryIteratorElement::Directory(dir));
|
return Some(DirectoryIteratorElement::Directory(dir.iter()));
|
||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
@ -58,5 +58,5 @@ enum DirectoryIteratorState<'a> {
|
||||||
pub enum DirectoryIteratorElement<'a> {
|
pub enum DirectoryIteratorElement<'a> {
|
||||||
Root(&'a Directory),
|
Root(&'a Directory),
|
||||||
Data(&'a Data),
|
Data(&'a Data),
|
||||||
Directory(&'a Directory),
|
Directory(DirectoryIterator<'a>),
|
||||||
}
|
}
|
Loading…
Reference in New Issue