?count=0 OPDS catalog queries return 0 results

... which is a useful way of finding out the total number of results
with the least consumption of resources.
This commit is contained in:
Veloman Yunkan
2023-02-10 19:15:29 +01:00
parent 340fadd9be
commit 2e0124710a
2 changed files with 6 additions and 12 deletions

View File

@ -1021,9 +1021,9 @@ InternalServer::search_catalog(const RequestContext& request,
const auto filter = get_search_filter(request);
std::vector<std::string> bookIdsToDump = mp_library->filter(filter);
const auto totalResults = bookIdsToDump.size();
const size_t count = request.get_optional_param("count", 10UL);
const long count = request.get_optional_param("count", 10L);
const size_t startIndex = request.get_optional_param("start", 0UL);
const size_t intendedCount = count > 0 ? count : bookIdsToDump.size();
const size_t intendedCount = count >= 0 ? count : bookIdsToDump.size();
bookIdsToDump = subrange(bookIdsToDump, startIndex, intendedCount);
opdsDumper.setOpenSearchInfo(totalResults, startIndex, bookIdsToDump.size());
return bookIdsToDump;