Branch Coverage

os.c
Criterion Covered Total %
branch 61 122 50.0


line true false branch
267 151 0 if( pLock->nRef==0 ){
278 151 0 if( pOpen->nRef==0 ){
304 0 151 if( rc!=0 ) return 1;
313 151 0 if( pLock==0 ){
316 0 151 if( pLock==0 ) return 1;
321 0 151 if( pOld!=0 ){
331 151 0 if( pOpen==0 ){
334 0 151 if( pOpen==0 ){
344 0 151 if( pOld!=0 ){
466 0 25 if( id->fd<0 ){
468 0 0 if( errno==EISDIR ){
473 0 0 if( id->fd<0 ){
483 0 25 if( rc ){
592 0 126 if( access(zFilename, 0)==0 ){
598 0 126 if( id->fd<0 ){
604 0 126 if( rc ){
610 51 75 if( delFlag ){
685 0 0 if( id->fd<0 ){
691 0 0 if( rc ){
766 0 98 if( id->fd<0 ){
773 0 98 if( id->dirfd<0 ){
809 56 0 for(i=0; i
810 28 28 if( azDirs[i]==0 ) continue;
811 0 28 if( stat(azDirs[i], &buf) ) continue;
812 0 28 if( !S_ISDIR(buf.st_mode) ) continue;
813 0 28 if( access(azDirs[i], 07) ) continue;
821 420 28 for(i=0; i<15; i++, j++){
825 0 28 }while( access(zBuf,0)==0 );
912 30 121 if( id->dirfd>=0 ) close(id->dirfd);
915 0 151 if( id->pOpen->nLock ){
925 0 0 if( aNew==0 ){
979 492 0 if( got==amt ){
1025 819 819 while( amt>0 && (wrote = write(id->fd, pBuf, amt))>0 ){
819 0 while( amt>0 && (wrote = write(id->fd, pBuf, amt))>0 ){
1032 0 819 if( amt>0 ){
1134 0 136 if( fsync(id->fd) ){
1137 68 68 if( id->dirfd>=0 ){
1175 3 0 return ftruncate(id->fd, nByte)==0 ? SQLITE_OK : SQLITE_IOERR;
1205 0 262 if( fstat(id->fd, &buf)!=0 ){
1320 0 415 if( id->pLock->cnt>0 ){
1321 0 0 if( !id->locked ){
1327 259 156 }else if( id->locked || id->pLock->cnt==0 ){
259 0 }else if( id->locked || id->pLock->cnt==0 ){
1334 0 415 if( s!=0 ){
1335 0 0 rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
1338 259 156 if( !id->locked ){
1438 156 0 if( id->pLock->cnt==0 || (id->pLock->cnt==1 && id->locked==1) ){
156 0 if( id->pLock->cnt==0 || (id->pLock->cnt==1 && id->locked==1) ){
156 0 if( id->pLock->cnt==0 || (id->pLock->cnt==1 && id->locked==1) ){
1445 0 156 if( s!=0 ){
1446 0 0 rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
1449 0 156 if( !id->locked ){
1547 151 259 if( !id->locked ) return SQLITE_OK;
1550 0 259 if( id->pLock->cnt>1 ){
1560 0 259 if( s!=0 ){
1561 0 0 rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
1567 259 0 if( rc==SQLITE_OK ){
1575 259 0 if( pOpen->nLock==0 && pOpen->nPending>0 ){
0 259 if( pOpen->nLock==0 && pOpen->nPending>0 ){
1577 0 0 for(i=0; inPending; i++){
1773 28 25 if( zRelative[0]=='/' ){