You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2013/09/24 15:11:00 UTC

svn commit: r1525878 - /qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp

Author: gsim
Date: Tue Sep 24 13:10:59 2013
New Revision: 1525878

URL: http://svn.apache.org/r1525878
Log:
QPID-5168: less restrictive treatment of reply to addresses

Modified:
    qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp?rev=1525878&r1=1525877&r2=1525878&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp Tue Sep 24 13:10:59 2013
@@ -169,7 +169,15 @@ qpid::amqp::CharSequence EncodedMessage:
 
 void EncodedMessage::getReplyTo(qpid::messaging::Address& a) const
 {
-    a = qpid::messaging::Address(replyTo.str());
+    std::string rt = replyTo.str();
+    std::string::size_type i = rt.find('/');
+    if (i != std::string::npos && i > 0 && rt.find('/', i+1) == std::string::npos) {
+        //handle <name>/<subject> special case
+        a.setName(rt.substr(0, i));
+        a.setSubject(rt.substr(i+1));
+    } else {
+        a.setName(rt);
+    }
 }
 void EncodedMessage::getSubject(std::string& s) const
 {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org