Fix bug with filesystem iterator prev off by one sometimes

custom
ailurux 2 months ago
parent 8c262aee55
commit 7a71096638
  1. 9
      src/tangara/lua/file_iterator.cpp

@ -46,15 +46,18 @@ auto FileIterator::next() -> void {
}
auto FileIterator::prev() -> void {
if (offset_ == 0) {
f_rewinddir(&dir_);
if (offset_ <= 0) {
offset_ = -1;
current_.reset();
return;
}
f_rewinddir(&dir_);
auto new_offset = offset_ - 1;
offset_ = -1;
while (offset_ < new_offset) {
iterate(show_hidden_);
if (!iterate(show_hidden_)) {
break;
}
}
}

Loading…
Cancel
Save