summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/amqp/Session.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/broker/amqp/Session.cpp b/qpid/cpp/src/qpid/broker/amqp/Session.cpp
index 99232d9f66..1f8e01772c 100644
--- a/qpid/cpp/src/qpid/broker/amqp/Session.cpp
+++ b/qpid/cpp/src/qpid/broker/amqp/Session.cpp
@@ -101,11 +101,13 @@ void readCapabilities(pn_data_t* data, F f)
if (type == PN_ARRAY) {
pn_data_enter(data);
while (pn_data_next(data)) {
- f(convert(pn_data_get_symbol(data)));
+ std::string s = convert(pn_data_get_symbol(data));
+ f(s);
}
pn_data_exit(data);
} else if (type == PN_SYMBOL) {
- f(convert(pn_data_get_symbol(data)));
+ std::string s = convert(pn_data_get_symbol(data));
+ f(s);
} else {
QPID_LOG(error, "Skipping capabilities field of type " << pn_type_name(type));
}