]> git.donarmstrong.com Git - bamtools.git/commitdiff
resolve bamtools #68
authorErik Garrison <erik.garrison@bc.edu>
Fri, 7 Dec 2012 23:07:55 +0000 (18:07 -0500)
committerErik Garrison <erik.garrison@bc.edu>
Fri, 7 Dec 2012 23:07:55 +0000 (18:07 -0500)
Check that the quality string is fully comprised of "*", rather than if
the first character is "*".

src/api/internal/bam/BamWriter_p.cpp

index 1bb086f4725c78ed75b7acb3ac3c8387948461f4..637bb7a117abc40a04eecc4e8212c5c8998ff61a 100644 (file)
@@ -284,7 +284,7 @@ void BamWriterPrivate::WriteAlignment(const BamAlignment& al) {
 
         // write the base qualities
         char* pBaseQualities = new char[queryLength]();
 
         // write the base qualities
         char* pBaseQualities = new char[queryLength]();
-        if ( al.Qualities.empty() || al.Qualities[0] == '*' || al.Qualities[0] == (char)0xFF )
+        if ( al.Qualities.empty() || ( al.Qualities.size() == 1 && al.Qualities[0] == '*' ) || al.Qualities[0] == (char)0xFF )
             memset(pBaseQualities, 0xFF, queryLength); // if missing or '*', fill with invalid qual
         else {
             for ( size_t i = 0; i < queryLength; ++i )
             memset(pBaseQualities, 0xFF, queryLength); // if missing or '*', fill with invalid qual
         else {
             for ( size_t i = 0; i < queryLength; ++i )