18 #ifdef __ZLIB_AVAILABLE__
23 #include "BgzfFileType.h"
26 bool BgzfFileType::ourRequireEofBlock =
true;
28 BgzfFileType::BgzfFileType(
const char * filename,
const char * mode)
31 if(((mode[0] ==
'w') || (mode[0] ==
'W')) &&
32 (strcmp(filename,
"-") == 0))
35 bgzfHandle = bgzf_dopen(fileno(stdout), mode);
37 else if(((mode[0] ==
'r') || (mode[0] ==
'R')) &&
38 (strcmp(filename,
"-") == 0))
41 bgzfHandle = bgzf_dopen(fileno(stdin), mode);
45 bgzfHandle = bgzf_open(filename, mode);
49 if (bgzfHandle != NULL)
53 if ((mode[0] ==
'r' || mode[0] ==
'R') && (strcmp(filename,
"-") != 0)
54 && ourRequireEofBlock && (bgzf_check_EOF(bgzfHandle) != 1))
56 std::cerr <<
"BGZF EOF marker is missing in " << filename << std::endl;
64 myStartPos = bgzf_tell(bgzfHandle);
74 void BgzfFileType::setRequireEofBlock(
bool requireEofBlock)
76 ourRequireEofBlock = requireEofBlock;