summaryrefslogtreecommitdiff
path: root/indra/llfilesystem/llfilesystem.cpp
diff options
context:
space:
mode:
authorFrederick Martian <fredmartian@gmail.com>2025-11-12 19:19:59 +0100
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-12-10 20:33:58 +0200
commitf07762a46830005b6ff4218c1f070ce27a9ecebe (patch)
tree7870932ad0c2ec651ed26373a59c8880aaeb733f /indra/llfilesystem/llfilesystem.cpp
parent9756b4b70b3cd24c03142d7e52eb2acae52002ef (diff)
Refactoring of LLFile class to support additional methods
- LLFile with its own class method interface to access files for read and write - Remove rudimentary LLUniqueFile class as LLFile supports now all of that and more - Implement most of the filename based functions using std::filesystem functions - Replace LLFile::rmdir() with LLFile::remove() since this function now supports deleting files and directories on all platforms.
Diffstat (limited to 'indra/llfilesystem/llfilesystem.cpp')
-rwxr-xr-x[-rw-r--r--]indra/llfilesystem/llfilesystem.cpp19
1 files changed, 3 insertions, 16 deletions
diff --git a/indra/llfilesystem/llfilesystem.cpp b/indra/llfilesystem/llfilesystem.cpp
index 541266af4f..4238dd64e9 100644..100755
--- a/indra/llfilesystem/llfilesystem.cpp
+++ b/indra/llfilesystem/llfilesystem.cpp
@@ -77,13 +77,8 @@ bool LLFileSystem::getExists(const LLUUID& file_id, const LLAssetType::EType fil
LL_PROFILE_ZONE_SCOPED;
const std::string filename = LLDiskCache::metaDataToFilepath(file_id, file_type);
- llifstream file(filename, std::ios::binary);
- if (file.is_open())
- {
- file.seekg(0, std::ios::end);
- return file.tellg() > 0;
- }
- return false;
+ // not only test for existence but for the file to be not empty
+ return LLFile::size(filename) > 0;
}
// static
@@ -120,15 +115,7 @@ S32 LLFileSystem::getFileSize(const LLUUID& file_id, const LLAssetType::EType fi
{
const std::string filename = LLDiskCache::metaDataToFilepath(file_id, file_type);
- S32 file_size = 0;
- llifstream file(filename, std::ios::binary);
- if (file.is_open())
- {
- file.seekg(0, std::ios::end);
- file_size = (S32)file.tellg();
- }
-
- return file_size;
+ return (S32)LLFile::size(filename);
}
bool LLFileSystem::read(U8* buffer, S32 bytes)