]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/internal/bam/BamReader_p.cpp
Added GetConstSamHeader() to BamReader
[bamtools.git] / src / api / internal / bam / BamReader_p.cpp
index 6904da7a6f3f53c917ba6d274521c2aaf6d7208c..737d59800a36d8f7a2e787ad64ec94684f1ce2a1 100644 (file)
@@ -2,11 +2,7 @@
 // BamReader_p.cpp (c) 2009 Derek Barnett
 // Marth Lab, Department of Biology, Boston College
 // ---------------------------------------------------------------------------
-<<<<<<< HEAD:src/api/internal/BamReader_p.cpp
-// Last modified: 14 November 2011 (DB)
-=======
-// Last modified: 25 October 2011 (DB)
->>>>>>> remoteio:src/api/internal/bam/BamReader_p.cpp
+// Last modified: 18 November 2012 (DB)
 // ---------------------------------------------------------------------------
 // Provides the basic functionality for reading BAM files
 // ***************************************************************************
@@ -98,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;
 }
@@ -236,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);