SInt64 FILEFile::LGetLength() { SInt64 pos = LTell(); if (pos >= 0) { LSeek (0, Seek_End); SInt64 size = LTell(); LSeek (pos, Seek_Set); return size; } return -1; }
int64_t FILEFile::LGetLength() { int64_t pos = LTell(); if (pos >= 0) { LSeek (0, Seek_End); int64_t size = LTell(); LSeek (pos, Seek_Set); return size; } return -1; }
// Seeks ahead to skip bytes int FILEFile::SkipBytes(int numBytes) { SInt64 pos = LTell(); SInt64 newPos = LSeek(numBytes, Seek_Cur); // Return -1 for major error if ((pos==-1) || (newPos==-1)) { return -1; } //ErrorCode = ((NewPos-Pos)<numBytes) ? errno : 0; return int (newPos-(int)pos); }
// Return # of bytes till EOF int FILEFile::BytesAvailable() { SInt64 pos = LTell(); SInt64 endPos = LGetLength(); // Return -1 for major error if ((pos==-1) || (endPos==-1)) { ErrorCode = SFerror(); return 0; } else ErrorCode = 0; return int (endPos-(int)pos); }