Beispiel #1
0
unsigned long File::GetLength() const
{
    BASE_ASSERT_VALID(this);

    unsigned long dwLen, dwCur;

    // Seek is a non const operation
    File* pFile = (File*)this;
#ifndef WIN32 
    dwCur = pFile->Seek(0L, current);
    dwLen = pFile->SeekToEnd();
	BASE_VERIFY(dwCur == (unsigned long)pFile->Seek(dwCur, begin));
#else
	dwCur = pFile->GetPosition() ;
	BASE_ASSERT(pFile->SeekToEnd() == 0 ) ;
	dwLen = pFile->GetPosition() ;
	pFile->Seek(dwCur,begin) ;
#endif
   
    return dwLen;
}