Cleanup PageIterator::next

This commit is contained in:
Corey Farwell 2015-11-12 00:24:19 -05:00
parent 1b20bc90ee
commit bfc4ed4cac

View file

@ -100,15 +100,11 @@ impl Iterator for PageIterator {
type Item = Rc<Page>;
fn next(&mut self) -> Option<Rc<Page>> {
match self.stack.pop() {
Some(next) => {
for child in &*next.children.borrow() {
self.stack.push(child.clone());
}
Some(next)
},
None => None,
let popped = self.stack.pop();
if let Some(ref page) = popped {
self.stack.extend(page.children.borrow().iter().cloned());
}
popped
}
}