LTP GCOV extension - code coverage report
Current view: directory - frmts/grib/degrib18/degrib - filedatasource.cpp
Test: gdal_filtered.info
Date: 2010-07-12 Instrumented lines: 29
Code covered: 69.0 % Executed lines: 20

       1                 : #include "filedatasource.h"
       2                 : #include "cpl_vsi.h"
       3                 : #include "cpl_error.h"
       4                 : 
       5               0 : FileDataSource::FileDataSource(const char * fileName)
       6               0 :   : closeFile(true)
       7                 : {
       8               0 :     fp = VSIFOpenL(fileName, "rb");
       9               0 : }
      10                 : 
      11               6 : FileDataSource::FileDataSource(FILE * fp)
      12               6 : : closeFile(false)
      13                 : {
      14               6 :     this->fp = fp;
      15               6 : }
      16                 : 
      17               6 : FileDataSource::~FileDataSource()
      18                 : {
      19               6 :     if (closeFile)
      20               0 :         VSIFCloseL(fp);
      21               6 : }
      22                 : 
      23             140 : size_t FileDataSource::DataSourceFread(void* lpBuf, size_t size, size_t count)
      24                 : {
      25             140 :     return VSIFReadL(lpBuf, size, count, fp);
      26                 : }
      27                 : 
      28              29 : int FileDataSource::DataSourceFgetc()
      29                 : {
      30                 :     char chData;
      31                 : 
      32              29 :     if( VSIFReadL( &chData, 1, 1, fp ) == 1 )
      33              26 :         return chData;
      34                 :     else
      35               3 :         return EOF;
      36                 : }
      37                 : 
      38              26 : int FileDataSource::DataSourceUngetc(int c)
      39                 : {
      40              26 :     DataSourceFseek(-1, SEEK_CUR );
      41                 :     
      42              26 :     return c;
      43                 : }
      44                 : 
      45              58 : int FileDataSource::DataSourceFseek(long offset, int origin)
      46                 : {
      47              58 :     if (origin == SEEK_CUR && offset < 0)
      48              26 :         return VSIFSeekL(fp, VSIFTellL(fp) + offset, SEEK_SET);
      49                 :     else
      50              32 :         return VSIFSeekL(fp, offset, origin);
      51                 : }
      52                 : 
      53               0 : int FileDataSource::DataSourceFeof()
      54                 : {
      55               0 :     return VSIFEofL( fp );
      56                 : }
      57                 : 
      58               0 : long FileDataSource::DataSourceFtell()
      59                 : {
      60               0 :     return VSIFTellL( fp );
      61                 : }

Generated by: LTP GCOV extension version 1.5