]> git.donarmstrong.com Git - bamtools.git/commitdiff
Fixed: improper mode check in local I/O device
authorderek <derekwbarnett@gmail.com>
Fri, 27 Jul 2012 14:44:51 +0000 (10:44 -0400)
committerderek <derekwbarnett@gmail.com>
Fri, 27 Jul 2012 14:44:51 +0000 (10:44 -0400)
src/api/internal/io/ILocalIODevice_p.cpp

index 19cc1da302cfa1995b62fad1a260716044d043c9..d515728b5a618c4d10ccffef4814159c2fdd79c9 100644 (file)
@@ -2,7 +2,7 @@
 // ILocalIODevice_p.cpp (c) 2011 Derek Barnett
 // Marth Lab, Department of Biology, Boston College
 // ---------------------------------------------------------------------------
-// Last modified: 25 October 2011 (DB)
+// Last modified: 27 July 2012 (DB)
 // ---------------------------------------------------------------------------
 // Provides shared behavior for files & pipes
 // ***************************************************************************
@@ -40,7 +40,7 @@ void ILocalIODevice::Close(void) {
 
 int64_t ILocalIODevice::Read(char* data, const unsigned int numBytes) {
     BT_ASSERT_X( m_stream, "ILocalIODevice::Read: trying to read from null stream" );
-    BT_ASSERT_X( (m_mode == IBamIODevice::ReadOnly), "ILocalIODevice::Read: device not in read-only mode");
+    BT_ASSERT_X( (m_mode & IBamIODevice::ReadOnly), "ILocalIODevice::Read: device not in read-able mode");
     return static_cast<int64_t>( fread(data, sizeof(char), numBytes, m_stream) );
 }
 
@@ -51,6 +51,6 @@ int64_t ILocalIODevice::Tell(void) const {
 
 int64_t ILocalIODevice::Write(const char* data, const unsigned int numBytes) {
     BT_ASSERT_X( m_stream, "ILocalIODevice::Write: tryint to write to null stream" );
-    BT_ASSERT_X( (m_mode == IBamIODevice::WriteOnly), "ILocalIODevice::Write: device not in write-only mode" );
+    BT_ASSERT_X( (m_mode & IBamIODevice::WriteOnly), "ILocalIODevice::Write: device not in write-able mode" );
     return static_cast<int64_t>( fwrite(data, sizeof(char), numBytes, m_stream) );
 }