diff options
author | Erik Kundiman <erik@megapahit.org> | 2025-07-18 13:52:07 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-07-18 13:52:07 +0800 |
commit | c6048b2a8e18877f3f8bd0a7e190c553a3caa9a5 (patch) | |
tree | 5e5b921f08012b20a5ae940d4f8ac4bd95e2f444 /indra/llfilesystem/lldiskcache.cpp | |
parent | 04081678eeaa1d56cecc1c68aa358d255addf81d (diff) | |
parent | 09a3bac9436af1b6077fb27885c8c6c645f40a8e (diff) |
Merge branch 'main' into 2025.05
Diffstat (limited to 'indra/llfilesystem/lldiskcache.cpp')
-rw-r--r-- | indra/llfilesystem/lldiskcache.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp index 49904911a9..d9b223fb49 100644 --- a/indra/llfilesystem/lldiskcache.cpp +++ b/indra/llfilesystem/lldiskcache.cpp @@ -114,14 +114,22 @@ void LLDiskCache::purge() { if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { +#if LL_WINDOWS + if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif { uintmax_t file_size = boost::filesystem::file_size(*iter, ec); if (ec.failed()) { continue; } +#if LL_WINDOWS + const std::string file_path = utf16str_to_utf8str((*iter).path().wstring()); +#else const std::string file_path = (*iter).path().string(); +#endif const std::time_t file_time = boost::filesystem::last_write_time(*iter, ec); if (ec.failed()) { @@ -159,10 +167,16 @@ void LLDiskCache::purge() } if (should_remove) { +#if LL_WINDOWS + boost::filesystem::remove(utf8str_to_utf16str(entry.second.second), ec); +#else boost::filesystem::remove(entry.second.second, ec); +#endif if (ec.failed()) { +#if !LL_WINDOWS LL_WARNS() << "Failed to delete cache file " << entry.second.second << ": " << ec.message() << LL_ENDL; +#endif } } } @@ -237,12 +251,18 @@ void LLDiskCache::clearCache() { if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { +#if LL_WINDOWS + if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif { boost::filesystem::remove(*iter, ec); if (ec.failed()) { +#if !LL_WINDOWS LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL; +#endif } } } @@ -270,13 +290,20 @@ void LLDiskCache::removeOldVFSFiles() { if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { +#if LL_WINDOWS + if ((utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FORMAT) != std::string::npos) || + (utf16str_to_utf8str((*iter).path().wstring()).find(DB_FORMAT) != std::string::npos)) +#else if (((*iter).path().string().find(CACHE_FORMAT) != std::string::npos) || ((*iter).path().string().find(DB_FORMAT) != std::string::npos)) +#endif { boost::filesystem::remove(*iter, ec); if (ec.failed()) { +#if !LL_WINDOWS LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL; +#endif } } } @@ -311,7 +338,11 @@ uintmax_t LLDiskCache::dirFileSize(const std::string& dir) { if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed()) { +#if LL_WINDOWS + if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif { uintmax_t file_size = boost::filesystem::file_size(*iter, ec); if (!ec.failed()) |