Index: src/libchcore/TLocalFilesystem.cpp =================================================================== diff -u -N -r2fe97a93f21771d75901d4b6559057d1ea055104 -r16df8fcf9d5b3317338aece64762771419beaf4a --- src/libchcore/TLocalFilesystem.cpp (.../TLocalFilesystem.cpp) (revision 2fe97a93f21771d75901d4b6559057d1ea055104) +++ src/libchcore/TLocalFilesystem.cpp (.../TLocalFilesystem.cpp) (revision 16df8fcf9d5b3317338aece64762771419beaf4a) @@ -459,4 +459,21 @@ m_hFile = INVALID_HANDLE_VALUE; } +unsigned long long TLocalFilesystemFile::GetFileSize() const +{ + if(!IsOpen()) + return 0; + + BY_HANDLE_FILE_INFORMATION bhfi; + + if(!::GetFileInformationByHandle(m_hFile, &bhfi)) + return 0; + + ULARGE_INTEGER uli; + uli.HighPart = bhfi.nFileSizeHigh; + uli.LowPart = bhfi.nFileSizeLow; + + return uli.QuadPart; +} + END_CHCORE_NAMESPACE