This commit is contained in:
2025-01-22 08:06:54 -06:00
parent 124dc62250
commit 97e5f17049

View File

@ -81,23 +81,23 @@ auto directory_iterator::fill_buffer(const remote::file_offset &offset,
#endif // !defined(_WIN32) #endif // !defined(_WIN32)
auto directory_iterator::get(std::size_t offset, std::string &item) -> int { auto directory_iterator::get(std::size_t offset, std::string &item) -> int {
if (offset < items_.size()) { if (offset >= items_.size()) {
item = items_[offset].api_path; errno = 120;
return 0; return -1;
} }
errno = 120; item = items_[offset].api_path;
return -1; return 0;
} }
auto directory_iterator::get_directory_item(std::size_t offset, auto directory_iterator::get_directory_item(std::size_t offset,
directory_item &di) -> api_error { directory_item &di) -> api_error {
if (offset < items_.size()) { if (offset >= items_.size()) {
di = items_[offset]; return api_error::directory_end_of_files;
return api_error::success;
} }
return api_error::directory_end_of_files; di = items_[offset];
return api_error::success;
} }
auto directory_iterator::get_directory_item(const std::string &api_path, auto directory_iterator::get_directory_item(const std::string &api_path,
@ -106,22 +106,22 @@ auto directory_iterator::get_directory_item(const std::string &api_path,
std::find_if(items_.begin(), items_.end(), [&](const auto &item) -> bool { std::find_if(items_.begin(), items_.end(), [&](const auto &item) -> bool {
return api_path == item.api_path; return api_path == item.api_path;
}); });
if (iter != items_.end()) { if (iter == items_.end()) {
di = *iter; return api_error::item_not_found;
return api_error::success;
} }
return api_error::item_not_found; di = *iter;
return api_error::success;
} }
auto directory_iterator::get_json(std::size_t offset, json &item) -> int { auto directory_iterator::get_json(std::size_t offset, json &item) -> int {
if (offset < items_.size()) { if (offset >= items_.size()) {
item = json(items_.at(offset)); errno = 120;
return 0; return -1;
} }
errno = 120; item = json(items_.at(offset));
return -1; return 0;
} }
auto directory_iterator::get_next_directory_offset( auto directory_iterator::get_next_directory_offset(