]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/internal/bam/BamReader_p.cpp
merge master 2.3.0
[bamtools.git] / src / api / internal / bam / BamReader_p.cpp
index 75d727928bb6757c49f033ea938e2fa4e81a5f20..737d59800a36d8f7a2e787ad64ec94684f1ce2a1 100644 (file)
@@ -2,7 +2,7 @@
 // BamReader_p.cpp (c) 2009 Derek Barnett
 // Marth Lab, Department of Biology, Boston College
 // ---------------------------------------------------------------------------
-// Last modified: 28 November 2011 (DB)
+// Last modified: 18 November 2012 (DB)
 // ---------------------------------------------------------------------------
 // Provides the basic functionality for reading BAM files
 // ***************************************************************************
@@ -94,6 +94,10 @@ const string BamReaderPrivate::Filename(void) const {
     return m_filename;
 }
 
+const SamHeader& BamReaderPrivate::GetConstSamHeader(void) const {
+    return m_header.ToConstSamHeader();
+}
+
 string BamReaderPrivate::GetErrorString(void) const {
     return m_errorString;
 }
@@ -232,6 +236,7 @@ bool BamReaderPrivate::LoadNextAlignment(BamAlignment& alignment) {
 
     // read in the 'block length' value, make sure it's not zero
     char buffer[sizeof(uint32_t)];
+    fill_n(buffer, sizeof(uint32_t), 0);
     m_stream.Read(buffer, sizeof(uint32_t));
     alignment.SupportData.BlockLength = BamTools::UnpackUnsignedInt(buffer);
     if ( m_isBigEndian ) BamTools::SwapEndian_32(alignment.SupportData.BlockLength);