| line | true | false | branch | 
 
| 53 | 0 | 0 | if ( writeFile ) { | 
 
| 55 | 0 | 0 | if ( fd->fd < 0 ) { | 
 
| 62 | 0 | 0 | if ( fd->fd < 0 ) return -1; | 
 
| 63 | 0 | 0 | if ( fd->compressLevel ) { | 
 
| 64 | 0 | 0 | if (deflateInit2(&fd->strm, compressLevel, Z_DEFLATED, MAX_WBITS, 8, | 
 
| 74 | 0 | 0 | if ( fd->fd < 0 ) return -1; | 
 
| 75 | 0 | 0 | if ( fd->compressLevel ) { | 
 
| 76 | 0 | 0 | if ( inflateInit(&fd->strm) != Z_OK ) { | 
 
| 83 | 0 | 0 | if ( DataBufferFreeList ) { | 
 
| 89 | 0 | 0 | if ( !fd->buf ) { | 
 
| 93 | 0 | 0 | if ( BPC_LogLevel >= 8 ) bpc_logMsgf("bpc_fileZIO_open(%s, %d, %d) -> %d\n", fileName, writeFile, compressLevel, fd->fd); | 
 
| 126 | 0 | 0 | if ( fd->fd < 0 ) return -1; | 
 
| 129 | 0 | 0 | if ( !(fd->buf = malloc(fd->bufSize)) ) { | 
 
| 134 | 0 | 0 | if ( fd->compressLevel ) { | 
 
| 135 | 0 | 0 | if ( writeFile ) { | 
 
| 136 | 0 | 0 | if (deflateInit2(&fd->strm, compressLevel, Z_DEFLATED, MAX_WBITS, 8, | 
 
| 144 | 0 | 0 | if ( inflateInit(&fd->strm) != Z_OK ) { | 
 
| 151 | 0 | 0 | if ( BPC_LogLevel >= 8 ) bpc_logMsgf("bpc_fileZIO_fdopen(%d, %d) -> %d\n", writeFile, compressLevel, fd->fd); | 
 
| 167 | 0 | 0 | if ( fd->write || fd->fd < 0 ) return -1; | 
 
|  | 0 | 0 | if ( fd->write || fd->fd < 0 ) return -1; | 
 
| 168 | 0 | 0 | if ( fd->compressLevel == 0 ) { | 
 
| 170 | 0 | 0 | while ( nRead > 0 ) { | 
 
| 173 | 0 | 0 | } while ( thisRead < 0 && errno == EINTR ); | 
 
|  | 0 | 0 | } while ( thisRead < 0 && errno == EINTR ); | 
 
| 174 | 0 | 0 | if ( thisRead < 0 ) return thisRead; | 
 
| 175 | 0 | 0 | if ( thisRead == 0 ) return totalRead; | 
 
| 182 | 0 | 0 | if ( fd->error ) return fd->error; | 
 
| 183 | 0 | 0 | while ( nRead > 0 ) { | 
 
| 189 | 0 | 0 | if ( fd->strm.avail_in == 0 ) { | 
 
| 194 | 0 | 0 | if ( !fd->eof && maxRead > 0 ) { | 
 
|  | 0 | 0 | if ( !fd->eof && maxRead > 0 ) { | 
 
| 197 | 0 | 0 | } while ( thisRead < 0 && errno == EINTR ); | 
 
|  | 0 | 0 | } while ( thisRead < 0 && errno == EINTR ); | 
 
| 198 | 0 | 0 | if ( thisRead < 0 ) { | 
 
| 203 | 0 | 0 | if ( thisRead == 0 ) { | 
 
| 208 | 0 | 0 | while ( nRead > 0 ) { | 
 
| 214 | 0 | 0 | if ( fd->first && fd->strm.avail_in > 0 ) { | 
 
|  | 0 | 0 | if ( fd->first && fd->strm.avail_in > 0 ) { | 
 
| 219 | 0 | 0 | if ( fd->strm.next_in[0] == 0xd6 || fd->strm.next_in[0] == 0xd7 ) { | 
 
|  | 0 | 0 | if ( fd->strm.next_in[0] == 0xd6 || fd->strm.next_in[0] == 0xd7 ) { | 
 
| 226 | 0 | 0 | } else if ( fd->strm.next_in[0] == 0xb3 ) { | 
 
| 239 | 0 | 0 | status    = inflate(&fd->strm, fd->eof ? Z_SYNC_FLUSH : Z_NO_FLUSH); | 
 
| 245 | 0 | 0 | if ( BPC_LogLevel >= 10 ) bpc_logMsgf("inflate returns %d; thisRead = %d, avail_in = %d, numOut = %d\n", status, thisRead, fd->strm.avail_in, numOut); | 
 
| 247 | 0 | 0 | if ( fd->eof && fd->strm.avail_in == 0 && numOut == 0 ) return totalRead; | 
 
|  | 0 | 0 | if ( fd->eof && fd->strm.avail_in == 0 && numOut == 0 ) return totalRead; | 
 
|  | 0 | 0 | if ( fd->eof && fd->strm.avail_in == 0 && numOut == 0 ) return totalRead; | 
 
| 248 | 0 | 0 | if ( status == Z_OK && fd->strm.avail_in == 0 ) break; | 
 
|  | 0 | 0 | if ( status == Z_OK && fd->strm.avail_in == 0 ) break; | 
 
| 249 | 0 | 0 | if ( status == Z_BUF_ERROR && fd->strm.avail_in == 0 && numOut == 0 ) break; | 
 
|  | 0 | 0 | if ( status == Z_BUF_ERROR && fd->strm.avail_in == 0 && numOut == 0 ) break; | 
 
|  | 0 | 0 | if ( status == Z_BUF_ERROR && fd->strm.avail_in == 0 && numOut == 0 ) break; | 
 
| 250 | 0 | 0 | if ( status == Z_STREAM_END ) { | 
 
| 254 | 0 | 0 | if ( status < 0 ) { | 
 
| 258 | 0 | 0 | if ( totalRead <= 0 ) return status; | 
 
| 276 | 0 | 0 | if ( !fd->write || fd->fd < 0 ) return -1; | 
 
|  | 0 | 0 | if ( !fd->write || fd->fd < 0 ) return -1; | 
 
| 277 | 0 | 0 | if ( fd->eof ) return 0; | 
 
| 278 | 0 | 0 | if ( fd->writeTeeStderr && nWrite > 0 ) (void)fwrite((char*)buf, nWrite, 1, stderr); | 
 
|  | 0 | 0 | if ( fd->writeTeeStderr && nWrite > 0 ) (void)fwrite((char*)buf, nWrite, 1, stderr); | 
 
| 279 | 0 | 0 | if ( fd->compressLevel == 0 ) { | 
 
| 281 | 0 | 0 | while ( nWrite > 0 ) { | 
 
| 284 | 0 | 0 | } while ( thisWrite < 0 && errno == EINTR ); | 
 
|  | 0 | 0 | } while ( thisWrite < 0 && errno == EINTR ); | 
 
| 285 | 0 | 0 | if ( thisWrite < 0 ) return thisWrite; | 
 
| 292 | 0 | 0 | if ( fd->error ) return fd->error; | 
 
| 294 | 0 | 0 | if ( nWrite == 0 || (fd->strm.total_in > (1 << 23) && fd->strm.total_out < (1 << 18)) ) { | 
 
|  | 0 | 0 | if ( nWrite == 0 || (fd->strm.total_in > (1 << 23) && fd->strm.total_out < (1 << 18)) ) { | 
 
|  | 0 | 0 | if ( nWrite == 0 || (fd->strm.total_in > (1 << 23) && fd->strm.total_out < (1 << 18)) ) { | 
 
| 300 | 0 | 0 | if ( BPC_LogLevel >= 10 ) bpc_logMsgf("Flushing (nWrite = %d)\n", nWrite); | 
 
| 312 | 0 | 0 | while ( numOut > 0 ) { | 
 
| 315 | 0 | 0 | } while ( thisWrite < 0 && errno == EINTR ); | 
 
|  | 0 | 0 | } while ( thisWrite < 0 && errno == EINTR ); | 
 
| 316 | 0 | 0 | if ( thisWrite < 0 ) return thisWrite; | 
 
| 320 | 0 | 0 | if ( status != Z_OK ) break; | 
 
| 324 | 0 | 0 | if ( nWrite == 0 ) { | 
 
| 331 | 0 | 0 | while ( fd->strm.avail_in > 0 ) { | 
 
| 340 | 0 | 0 | while ( numOut > 0 ) { | 
 
| 343 | 0 | 0 | } while ( thisWrite < 0 && errno == EINTR ); | 
 
|  | 0 | 0 | } while ( thisWrite < 0 && errno == EINTR ); | 
 
| 344 | 0 | 0 | if ( thisWrite < 0 ) return thisWrite; | 
 
| 354 | 0 | 0 | if ( fd->fd < 0 ) return -1; | 
 
| 356 | 0 | 0 | if ( fd->compressLevel ) { | 
 
| 357 | 0 | 0 | if ( fd->write ) { | 
 
| 367 | 0 | 0 | if ( BPC_LogLevel >= 8 ) bpc_logMsgf("bpc_fileZIO_close(%d)\n", fd->fd); | 
 
| 369 | 0 | 0 | if ( fd->lineBuf ) free(fd->lineBuf); | 
 
| 371 | 0 | 0 | if ( fd->buf ) { | 
 
| 382 | 0 | 0 | if ( fd->write ) return -1; | 
 
| 384 | 0 | 0 | if ( fd->compressLevel ) { | 
 
| 391 | 0 | 0 | return lseek(fd->fd, 0, SEEK_SET) == 0 ? 0 : -1; | 
 
| 400 | 0 | 0 | if ( !fd->lineBuf ) { | 
 
| 405 | 0 | 0 | if ( !(fd->lineBuf = malloc(fd->lineBufSize)) ) { | 
 
| 416 | 0 | 0 | if ( fd->lineBufIdx < fd->lineBufLen ) { | 
 
| 417 | 0 | 0 | if ( (p = memchr(fd->lineBuf + fd->lineBufIdx, '\n', fd->lineBufLen - fd->lineBufIdx)) ) { | 
 
| 426 | 0 | 0 | } else if ( fd->lineBufEof ) { | 
 
| 434 | 0 | 0 | } else if ( fd->lineBufLen >= fd->lineBufSize ) { | 
 
| 439 | 0 | 0 | if ( fd->lineBufIdx > 0 ) { | 
 
| 445 | 0 | 0 | if ( !(fd->lineBuf = realloc(fd->lineBuf, fd->lineBufSize)) ) { | 
 
| 452 | 0 | 0 | if ( fd->lineBufIdx >= fd->lineBufLen && fd->lineBufEof ) { | 
 
|  | 0 | 0 | if ( fd->lineBufIdx >= fd->lineBufLen && fd->lineBufEof ) { | 
 
| 460 | 0 | 0 | if ( fd->lineBufIdx >= fd->lineBufLen ) { | 
 
| 464 | 0 | 0 | if ( fd->lineBufLen < fd->lineBufSize && !fd->lineBufEof ) { | 
 
|  | 0 | 0 | if ( fd->lineBufLen < fd->lineBufSize && !fd->lineBufEof ) { | 
 
| 466 | 0 | 0 | if ( nread < 0 ) { | 
 
| 470 | 0 | 0 | if ( nread == 0 ) fd->lineBufEof = 1; |