From ce3ea816c2609ed4e5afc53aa47b3de7c9ab2bad Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Tue, 15 Mar 2022 17:41:19 +0100 Subject: Manage lifetime of FileHandle --- zenstore/basicfile.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'zenstore/basicfile.cpp') 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() -- cgit v1.2.3