X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fapi%2Finternal%2FBamReader_p.cpp;fp=src%2Fapi%2Finternal%2FBamReader_p.cpp;h=5d154a1ec7f9f549b23d66c3421a5d0128630a02;hb=8a90b7aefffaf186053ef4da96c8663bf528274a;hp=770701770b5855e935a2db01bb85fccbf2845691;hpb=2e049ed7f28881bce09653e60f5aea54bfd7afbf;p=bamtools.git diff --git a/src/api/internal/BamReader_p.cpp b/src/api/internal/BamReader_p.cpp index 7707017..5d154a1 100644 --- a/src/api/internal/BamReader_p.cpp +++ b/src/api/internal/BamReader_p.cpp @@ -9,6 +9,8 @@ #include #include +#include +#include #include #include #include @@ -137,6 +139,10 @@ bool BamReaderPrivate::GetNextAlignment(BamAlignment& alignment) { // useful for operations requiring ONLY positional or other alignment-related information bool BamReaderPrivate::GetNextAlignmentCore(BamAlignment& alignment) { + // skip if stream not opened + if ( !m_stream.IsOpen() ) + return false; + try { // skip if region is set but has no alignments @@ -214,7 +220,7 @@ bool BamReaderPrivate::HasIndex(void) const { } bool BamReaderPrivate::IsOpen(void) const { - return m_stream.IsOpen; + return m_stream.IsOpen(); } // load BAM header data @@ -240,7 +246,7 @@ bool BamReaderPrivate::LoadNextAlignment(BamAlignment& alignment) { // swap core endian-ness if necessary if ( m_isBigEndian ) { - for ( int i = 0; i < Constants::BAM_CORE_SIZE; i+=sizeof(uint32_t) ) + for ( unsigned int i = 0; i < Constants::BAM_CORE_SIZE; i+=sizeof(uint32_t) ) BamTools::SwapEndian_32p(&x[i]); } @@ -355,8 +361,6 @@ bool BamReaderPrivate::LocateIndex(const BamIndex::IndexType& preferredType) { // opens BAM file (and index) bool BamReaderPrivate::Open(const string& filename) { - bool result; - try { // make sure we're starting with fresh state @@ -374,8 +378,8 @@ bool BamReaderPrivate::Open(const string& filename) { m_filename = filename; m_alignmentsBeginOffset = m_stream.Tell(); - // set flag - result = true; + // return success + return true; } catch ( BamException& e ) { const string error = e.what(); @@ -384,9 +388,6 @@ bool BamReaderPrivate::Open(const string& filename) { SetErrorString("BamReader::Open", message); return false; } - - // return success/failure - return result; } bool BamReaderPrivate::OpenIndex(const std::string& indexFilename) {