diff options
Diffstat (limited to 'qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.cpp')
-rw-r--r-- | qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.cpp | 26 |
1 files 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 |