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: 2012-04-28 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              14 : FileDataSource::FileDataSource(VSILFILE* fp)
      11              14 : : closeFile(false)
      12                 : {
      13              14 :     this->fp = fp;
      14              14 : }
      15                 : 
      16              14 : FileDataSource::~FileDataSource()
      17                 : {
      18              14 :     if (closeFile)
      19               0 :         VSIFCloseL(fp);
      20              14 : }
      21                 : 
      22             426 : size_t FileDataSource::DataSourceFread(void* lpBuf, size_t size, size_t count)
      23                 : {
      24             426 :     return VSIFReadL(lpBuf, size, count, (VSILFILE*)fp);
      25                 : }
      26                 : 
      27              80 : int FileDataSource::DataSourceFgetc()
      28                 : {
      29                 :     unsigned char byData;
      30                 : 
      31              80 :     if( VSIFReadL( &byData, 1, 1, fp ) == 1 )
      32              72 :         return byData;
      33                 :     else
      34               8 :         return EOF;
      35                 : }
      36                 : 
      37              72 : int FileDataSource::DataSourceUngetc(int c)
      38                 : {
      39              72 :     DataSourceFseek(-1, SEEK_CUR );
      40                 :     
      41              72 :     return c;
      42                 : }
      43                 : 
      44             158 : int FileDataSource::DataSourceFseek(long offset, int origin)
      45                 : {
      46             158 :     if (origin == SEEK_CUR && offset < 0)
      47              72 :         return VSIFSeekL(fp, VSIFTellL(fp) + offset, SEEK_SET);
      48                 :     else
      49              86 :         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