summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2012-11-23 16:57:03 +0000
committerGordon Sim <gsim@apache.org>2012-11-23 16:57:03 +0000
commit27af1373da0f60caba99d119fd451d9f5be8b3ba (patch)
tree1850f1d071600febc08f10f10648568187183fee /qpid/cpp/src
parent3ca832590dff522356270a0d9f89d93799c26ac2 (diff)
downloadqpid-python-27af1373da0f60caba99d119fd451d9f5be8b3ba.tar.gz
QPID-4465: check subject before setting filter
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1412963 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/messaging/amqp/ReceiverContext.cpp26
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