From bfc9e66d26319e8f216a4be5e0b1e9f2ef9bcc3a Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Wed, 28 Nov 2012 14:13:52 +0000 Subject: QPID-4465: check subject before setting filter git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.20@1414711 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/qpid/messaging/amqp/ReceiverContext.cpp | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.cpp b/qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.cpp index 8034df311a..414793c7fd 100644 --- a/qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.cpp +++ b/qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.cpp @@ -120,18 +120,20 @@ void ReceiverContext::configure(pn_terminus_t* source) const helper.setNodeProperties(source); } - //filter: - pn_data_t* filter = pn_terminus_filter(source); - pn_data_put_map(filter); - pn_data_enter(filter); - pn_data_put_symbol(filter, convert("subject")); - //TODO: At present inserting described values into the map doesn't seem to work; correct this once resolved - //pn_data_put_described(filter); - //pn_data_enter(filter); - //pn_data_put_ulong(filter, getFilterDescriptor(address.getSubject())); - pn_data_put_string(filter, convert(address.getSubject())); - //pn_data_exit(filter); - pn_data_exit(filter); + if (!address.getSubject().empty()) { + //filter: + pn_data_t* filter = pn_terminus_filter(source); + pn_data_put_map(filter); + pn_data_enter(filter); + pn_data_put_symbol(filter, convert("subject")); + //TODO: At present inserting described values into the map doesn't seem to work; correct this once resolved + //pn_data_put_described(filter); + //pn_data_enter(filter); + //pn_data_put_ulong(filter, getFilterDescriptor(address.getSubject())); + pn_data_put_string(filter, convert(address.getSubject())); + //pn_data_exit(filter); + pn_data_exit(filter); + } } bool ReceiverContext::isClosed() const -- cgit v1.2.1