Author: tabish
Date: Thu May 24 10:26:09 2007
New Revision: 541363

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

Modified:
    
activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp

Modified: 
activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp
URL: 
http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp?view=diff&rev=541363&r1=541362&r2=541363
==============================================================================
--- 
activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp
 (original)
+++ 
activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/commands/ActiveMQBytesMessage.cpp
 Thu May 24 10:26:09 2007
@@ -23,7 +23,7 @@
 using namespace activemq::connector::openwire::commands;
 
 
////////////////////////////////////////////////////////////////////////////////
-ActiveMQBytesMessage::ActiveMQBytesMessage() : 
+ActiveMQBytesMessage::ActiveMQBytesMessage() :
     ActiveMQMessageBase< cms::BytesMessage >(),
     dataInputStream( &inputStream ),
     dataOutputStream( &outputStream )
@@ -43,12 +43,12 @@
 }
 
 
////////////////////////////////////////////////////////////////////////////////
-void ActiveMQBytesMessage::setBodyBytes( const unsigned char* buffer, 
-                                         std::size_t numBytes ) 
+void ActiveMQBytesMessage::setBodyBytes( const unsigned char* buffer,
+                                         std::size_t numBytes )
     throw( cms::CMSException ) {
 
     try{
-        
+
         clearBody();
         for( size_t i = 0; i < numBytes; ++i ) {
             getContent().push_back( buffer[i] );
@@ -62,7 +62,12 @@
 const unsigned char* ActiveMQBytesMessage::getBodyBytes(void) const {
 
     try{
-        return reinterpret_cast<const unsigned char*>( &( getContent()[0] ) );
+
+        if( getContent().size() > 0 ) {
+            return reinterpret_cast<const unsigned char*>( &( getContent()[0] 
) );
+        } else {
+            return NULL;
+        }
     }
     AMQ_CATCH_RETHROW( exceptions::ActiveMQException )
     AMQ_CATCHALL_THROW( exceptions::ActiveMQException )
@@ -83,7 +88,7 @@
 
     try{
         readOnly = true;
-        inputStream.setBuffer( getContent() );            
+        inputStream.setBuffer( getContent() );
     }
     AMQ_CATCH_RETHROW( exceptions::ActiveMQException )
     AMQ_CATCHALL_THROW( exceptions::ActiveMQException )
@@ -134,7 +139,7 @@
 }
 
 
////////////////////////////////////////////////////////////////////////////////
-std::size_t ActiveMQBytesMessage::readBytes( std::vector<unsigned char>& value 
) 
+std::size_t ActiveMQBytesMessage::readBytes( std::vector<unsigned char>& value 
)
     throw ( cms::CMSException ) {
 
     try{
@@ -157,7 +162,7 @@
 }
 
 
////////////////////////////////////////////////////////////////////////////////
-std::size_t ActiveMQBytesMessage::readBytes( unsigned char*& buffer, 
std::size_t length ) 
+std::size_t ActiveMQBytesMessage::readBytes( unsigned char*& buffer, 
std::size_t length )
     throw ( cms::CMSException ) {
 
     try{
@@ -180,7 +185,7 @@
     AMQ_CATCH_RETHROW( exceptions::ActiveMQException )
     AMQ_CATCHALL_THROW( exceptions::ActiveMQException )
 }
-                         
+
 
////////////////////////////////////////////////////////////////////////////////
 char ActiveMQBytesMessage::readChar() throw ( cms::CMSException ) {
 


Reply via email to