You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2007/10/19 20:55:34 UTC

svn commit: r586577 - in /activemq/activemq-cpp/trunk/src: main/activemq/io/DataInputStream.cpp test/activemq/io/DataInputStreamTest.cpp

Author: tabish
Date: Fri Oct 19 11:55:34 2007
New Revision: 586577

URL: http://svn.apache.org/viewvc?rev=586577&view=rev
Log:
http://issues.apache.org/activemq/browse/AMQCPP-149

Fixing readFully method and adding a test for it.

Modified:
    activemq/activemq-cpp/trunk/src/main/activemq/io/DataInputStream.cpp
    activemq/activemq-cpp/trunk/src/test/activemq/io/DataInputStreamTest.cpp

Modified: activemq/activemq-cpp/trunk/src/main/activemq/io/DataInputStream.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/io/DataInputStream.cpp?rev=586577&r1=586576&r2=586577&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/io/DataInputStream.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/io/DataInputStream.cpp Fri Oct 19 11:55:34 2007
@@ -293,6 +293,9 @@
 void DataInputStream::readFully( std::vector<unsigned char>& buffer )
     throw ( io::IOException, io::EOFException ) {
     try {
+        if( buffer.empty() ) {
+            return;
+        }
         this->readFully( &buffer[0], 0, buffer.size() );
     }
     AMQ_CATCH_RETHROW( EOFException )

Modified: activemq/activemq-cpp/trunk/src/test/activemq/io/DataInputStreamTest.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/test/activemq/io/DataInputStreamTest.cpp?rev=586577&r1=586576&r2=586577&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/test/activemq/io/DataInputStreamTest.cpp (original)
+++ activemq/activemq-cpp/trunk/src/test/activemq/io/DataInputStreamTest.cpp Fri Oct 19 11:55:34 2007
@@ -139,6 +139,15 @@
     } catch(...){
         CPPUNIT_ASSERT( true );
     }
+
+    std::vector<unsigned char> buffer2;
+    buffer2.resize( 0 );
+    try{
+        reader.readFully( buffer2 );
+    } catch(...){
+        CPPUNIT_ASSERT( false );
+    }
+
 }
 
 void DataInputStreamTest::testUTF() {