diff options
| author | Gordon Sim <gsim@apache.org> | 2013-09-24 13:10:59 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2013-09-24 13:10:59 +0000 |
| commit | 72816282f067e233e82a0ec1c628e2e88d81e21f (patch) | |
| tree | 43dec3c4dc60d44cedc177e409772be1bbda5910 /qpid/cpp/src | |
| parent | 91f938099f7faab7933df84129ac3df405e2d884 (diff) | |
| download | qpid-python-72816282f067e233e82a0ec1c628e2e88d81e21f.tar.gz | |
QPID-5168: less restrictive treatment of reply to addresses
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1525878 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
| -rw-r--r-- | qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp b/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp index 266060c117..1de7180cb9 100644 --- a/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp +++ b/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp @@ -169,7 +169,15 @@ qpid::amqp::CharSequence EncodedMessage::getBareMessage() const 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 { |
