vsi_l_offset VSIFTellL( VSILFILE * fp ) { VSIVirtualHandle *poFileHandle = (VSIVirtualHandle *) fp; return poFileHandle->Tell(); }
vsi_l_offset VSIFTellL( VSILFILE * fp ) { VSIVirtualHandle *poFileHandle = reinterpret_cast<VSIVirtualHandle *>( fp ); return poFileHandle->Tell(); }
int VSIBufferedReaderHandle::Seek( vsi_l_offset nOffset, int nWhence ) { //CPLDebug( "BUFFERED", "Seek(%d,%d)", (int)nOffset, (int)nWhence); bEOF = FALSE; if (nWhence == SEEK_CUR) nCurOffset += nOffset; else if (nWhence == SEEK_END) { poBaseHandle->Seek(nOffset, nWhence); nCurOffset = poBaseHandle->Tell(); bNeedBaseHandleSeek = TRUE; } else nCurOffset = nOffset; return 0; }
int VSISparseFileFilesystemHandler::Stat( const char * pszFilename, VSIStatBufL * psStatBuf, int nFlags ) { VSIVirtualHandle *poFile = Open( pszFilename, "r" ); memset( psStatBuf, 0, sizeof(VSIStatBufL) ); if( poFile == NULL ) return -1; poFile->Seek( 0, SEEK_END ); size_t nLength = (size_t) poFile->Tell(); delete poFile; int nResult = VSIStatExL( pszFilename + strlen("/vsisparse/"), psStatBuf, nFlags ); psStatBuf->st_size = nLength; return nResult; }
vsi_l_offset VSIStdoutRedirectHandle::Tell() { return poHandle->Tell(); }