summaryrefslogtreecommitdiff
path: root/src/database/file_gatherer.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-02-16 15:13:58 +1100
committerjacqueline <me@jacqueline.id.au>2024-02-16 15:13:58 +1100
commit5866513c532114654c1a0e616be3c64ef0aa92ed (patch)
treead0b034023f18361c72b3ac4f3191583d3367718 /src/database/file_gatherer.cpp
parent4509ab8d6e341f7f7d92ac6e9d63ad822fe3441b (diff)
downloadtangara-fw-5866513c532114654c1a0e616be3c64ef0aa92ed.tar.gz
Move the list of unexplored files into spiram
Diffstat (limited to 'src/database/file_gatherer.cpp')
-rw-r--r--src/database/file_gatherer.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/database/file_gatherer.cpp b/src/database/file_gatherer.cpp
index dde363bd..b7b7271e 100644
--- a/src/database/file_gatherer.cpp
+++ b/src/database/file_gatherer.cpp
@@ -22,12 +22,12 @@ static_assert(sizeof(TCHAR) == sizeof(char), "TCHAR must be CHAR");
auto FileGathererImpl::FindFiles(
const std::string& root,
- std::function<void(const std::string&, const FILINFO&)> cb) -> void {
- std::deque<std::string> to_explore;
- to_explore.push_back(root);
+ std::function<void(std::string_view, const FILINFO&)> cb) -> void {
+ std::pmr::deque<std::pmr::string> to_explore{&memory::kSpiRamResource};
+ to_explore.push_back({root.data(), root.size()});
while (!to_explore.empty()) {
- std::string next_path_str = to_explore.front();
+ auto next_path_str = to_explore.front();
to_explore.pop_front();
const TCHAR* next_path = static_cast<const TCHAR*>(next_path_str.c_str());
@@ -56,7 +56,7 @@ auto FileGathererImpl::FindFiles(
// System or hidden file. Ignore it and move on.
continue;
} else {
- std::string full_path;
+ std::pmr::string full_path{&memory::kSpiRamResource};
full_path += next_path_str;
full_path += "/";
full_path += info.fname;