|
|
|
@ -2,6 +2,7 @@ |
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#include <algorithm>
|
|
|
|
#include <regex>
|
|
|
|
#include <mbedtls/sha256.h>
|
|
|
|
#include "common/assert.h"
|
|
|
|
@ -30,6 +31,10 @@ bool operator<(const RegisteredCacheEntry& lhs, const RegisteredCacheEntry& rhs) |
|
|
|
return (lhs.title_id < rhs.title_id) || (lhs.title_id == rhs.title_id && lhs.type < rhs.type); |
|
|
|
} |
|
|
|
|
|
|
|
bool operator==(const RegisteredCacheEntry& lhs, const RegisteredCacheEntry& rhs) { |
|
|
|
return std::tie(lhs.title_id, lhs.type) == std::tie(rhs.title_id, rhs.type); |
|
|
|
} |
|
|
|
|
|
|
|
static bool FollowsTwoDigitDirFormat(std::string_view name) { |
|
|
|
static const std::regex two_digit_regex("000000[0-9A-F]{2}", std::regex_constants::ECMAScript | |
|
|
|
std::regex_constants::icase); |
|
|
|
@ -593,6 +598,9 @@ std::vector<RegisteredCacheEntry> RegisteredCacheUnion::ListEntries() const { |
|
|
|
}, |
|
|
|
[](const CNMT& c, const ContentRecord& r) { return true; }); |
|
|
|
} |
|
|
|
|
|
|
|
std::sort(out.begin(), out.end()); |
|
|
|
out.erase(std::unique(out.begin(), out.end()), out.end()); |
|
|
|
return out; |
|
|
|
} |
|
|
|
|
|
|
|
@ -616,6 +624,9 @@ std::vector<RegisteredCacheEntry> RegisteredCacheUnion::ListEntriesFilter( |
|
|
|
return true; |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
std::sort(out.begin(), out.end()); |
|
|
|
out.erase(std::unique(out.begin(), out.end()), out.end()); |
|
|
|
return out; |
|
|
|
} |
|
|
|
} // namespace FileSys
|