aboutsummaryrefslogtreecommitdiff
path: root/zenstore/basicfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'zenstore/basicfile.cpp')
-rw-r--r--zenstore/basicfile.cpp14
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()