diff options
| author | Dan Engelbrecht <[email protected]> | 2022-03-15 17:41:19 +0100 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-03-31 11:28:32 +0200 |
| commit | ce3ea816c2609ed4e5afc53aa47b3de7c9ab2bad (patch) | |
| tree | 48247aaf9b0accfca5efbda98435ac42d7db8570 /zenstore/basicfile.cpp | |
| parent | Delete GCd blocks on close. (diff) | |
| download | zen-ce3ea816c2609ed4e5afc53aa47b3de7c9ab2bad.tar.xz zen-ce3ea816c2609ed4e5afc53aa47b3de7c9ab2bad.zip | |
Manage lifetime of FileHandle
Diffstat (limited to 'zenstore/basicfile.cpp')
| -rw-r--r-- | zenstore/basicfile.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/zenstore/basicfile.cpp b/zenstore/basicfile.cpp index 895db6cee..1f6ead2d3 100644 --- a/zenstore/basicfile.cpp +++ b/zenstore/basicfile.cpp @@ -279,6 +279,20 @@ BasicFile::FileSize() #endif } +void +BasicFile::SetFileSize(uint64_t FileSize) +{ +#if ZEN_PLATFORM_WINDOWS + LARGE_INTEGER liFileSize; + liFileSize.QuadPart = FileSize; + ::SetFilePointerEx(m_FileHandle, liFileSize, 0, FILE_BEGIN); + ::SetEndOfFile(m_FileHandle); +#else + int Fd = int(intptr_t(m_FileHandle)); + int ftruncate64(Fd, FileSize); +#endif +} + ////////////////////////////////////////////////////////////////////////// TemporaryFile::~TemporaryFile() |