PHP  
 PHP: Test and Code Coverage Analysis
downloads | QA | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
 

LTP GCOV extension - code coverage report
Current view: directory - pdo_sqlite/sqlite/src - os.c
Test: PHP Code Coverage
Date: 2009-11-19 Instrumented lines: 32
Code covered: 81.2 % Executed lines: 26
Legend: not executed executed

       1                 : /*
       2                 : ** 2005 November 29
       3                 : **
       4                 : ** The author disclaims copyright to this source code.  In place of
       5                 : ** a legal notice, here is a blessing:
       6                 : **
       7                 : **    May you do good and not evil.
       8                 : **    May you find forgiveness for yourself and forgive others.
       9                 : **    May you share freely, never taking more than you give.
      10                 : **
      11                 : ******************************************************************************
      12                 : **
      13                 : ** This file contains OS interface code that is common to all
      14                 : ** architectures.
      15                 : */
      16                 : #define _SQLITE_OS_C_ 1
      17                 : #include "sqliteInt.h"
      18                 : #include "os.h"
      19                 : #undef _SQLITE_OS_C_
      20                 : 
      21                 : /*
      22                 : ** The following routines are convenience wrappers around methods
      23                 : ** of the OsFile object.  This is mostly just syntactic sugar.  All
      24                 : ** of this would be completely automatic if SQLite were coded using
      25                 : ** C++ instead of plain old C.
      26                 : */
      27             144 : int sqlite3OsClose(OsFile **pId){
      28                 :   OsFile *id;
      29             144 :   if( pId!=0 && (id = *pId)!=0 ){
      30              28 :     return id->pMethod->xClose(pId);
      31                 :   }else{
      32             116 :     return SQLITE_OK;
      33                 :   }
      34                 : }
      35              15 : int sqlite3OsOpenDirectory(OsFile *id, const char *zName){
      36              15 :   return id->pMethod->xOpenDirectory(id, zName);
      37                 : }
      38              48 : int sqlite3OsRead(OsFile *id, void *pBuf, int amt){
      39              48 :   return id->pMethod->xRead(id, pBuf, amt);
      40                 : }
      41              98 : int sqlite3OsWrite(OsFile *id, const void *pBuf, int amt){
      42              98 :   return id->pMethod->xWrite(id, pBuf, amt);
      43                 : }
      44             127 : int sqlite3OsSeek(OsFile *id, i64 offset){
      45             127 :   return id->pMethod->xSeek(id, offset);
      46                 : }
      47               0 : int sqlite3OsTruncate(OsFile *id, i64 size){
      48               0 :   return id->pMethod->xTruncate(id, size);
      49                 : }
      50              42 : int sqlite3OsSync(OsFile *id, int fullsync){
      51              42 :   return id->pMethod->xSync(id, fullsync);
      52                 : }
      53              30 : void sqlite3OsSetFullSync(OsFile *id, int value){
      54              30 :   id->pMethod->xSetFullSync(id, value);
      55              30 : }
      56                 : #if defined(SQLITE_TEST) || defined(SQLITE_DEBUG)
      57                 : /* This method is currently only used while interactively debugging the 
      58                 : ** pager. More specificly, it can only be used when sqlite3DebugPrintf() is
      59                 : ** included in the build. */
      60                 : int sqlite3OsFileHandle(OsFile *id){
      61                 :   return id->pMethod->xFileHandle(id);
      62                 : }
      63                 : #endif
      64              23 : int sqlite3OsFileSize(OsFile *id, i64 *pSize){
      65              23 :   return id->pMethod->xFileSize(id, pSize);
      66                 : }
      67              50 : int sqlite3OsLock(OsFile *id, int lockType){
      68              50 :   return id->pMethod->xLock(id, lockType);
      69                 : }
      70              49 : int sqlite3OsUnlock(OsFile *id, int lockType){
      71              49 :   return id->pMethod->xUnlock(id, lockType);
      72                 : }
      73               0 : int sqlite3OsLockState(OsFile *id){
      74               0 :   return id->pMethod->xLockState(id);
      75                 : }
      76               0 : int sqlite3OsCheckReservedLock(OsFile *id){
      77               0 :   return id->pMethod->xCheckReservedLock(id);
      78                 : }
      79              14 : int sqlite3OsSectorSize(OsFile *id){
      80              14 :   int (*xSectorSize)(OsFile*) = id->pMethod->xSectorSize;
      81              14 :   return xSectorSize ? xSectorSize(id) : SQLITE_DEFAULT_SECTOR_SIZE;
      82                 : }
      83                 : 
      84                 : #ifdef SQLITE_ENABLE_REDEF_IO
      85                 : /*
      86                 : ** A function to return a pointer to the virtual function table.
      87                 : ** This routine really does not accomplish very much since the
      88                 : ** virtual function table is a global variable and anybody who
      89                 : ** can call this function can just as easily access the variable
      90                 : ** for themselves.  Nevertheless, we include this routine for
      91                 : ** backwards compatibility with an earlier redefinable I/O
      92                 : ** interface design.
      93                 : */
      94                 : struct sqlite3OsVtbl *sqlite3_os_switch(void){
      95                 :   return &sqlite3Os;
      96                 : }
      97                 : #endif

Generated by: LTP GCOV extension version 1.5

Generated at Thu, 19 Nov 2009 08:20:16 +0000 (5 days ago)

Copyright © 2005-2009 The PHP Group
All rights reserved.