LCOV - code coverage report
Current view: directory - frmts/grib/degrib18/degrib - filedatasource.cpp (source / functions) Found Hit Coverage
Test: gdal_filtered.info Lines: 29 20 69.0 %
Date: 2011-12-18 Functions: 13 6 46.2 %

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

Generated by: LCOV version 1.7