diff --git a/src/lua/file_iterator.cpp b/src/lua/file_iterator.cpp index 7f2929ba..8de1a923 100644 --- a/src/lua/file_iterator.cpp +++ b/src/lua/file_iterator.cpp @@ -28,6 +28,11 @@ FileIterator::FileIterator(std::string filepath) } } +FileIterator::~FileIterator() { + auto lock = drivers::acquire_spi(); + f_closedir(&dir_); +} + auto FileIterator::value() const -> const std::optional& { return current_; } diff --git a/src/lua/include/file_iterator.hpp b/src/lua/include/file_iterator.hpp index 6fc58245..1632949e 100644 --- a/src/lua/include/file_iterator.hpp +++ b/src/lua/include/file_iterator.hpp @@ -25,6 +25,7 @@ struct FileEntry { class FileIterator { public: FileIterator(std::string filepath); + ~FileIterator(); auto value() const -> const std::optional&; auto next() -> void;