@ -1,11 +1,14 @@
--- a/src/metadata.hpp
--- a/src/metadata.hpp
+++ b/src/metadata.hpp
+++ b/src/metadata.hpp
@@ -41,7 +41,7 @@ namespace zmq
@@ -41,7 +41,11 @@ namespace zmq
{
{
public:
public:
- typedef std::map <std::string, const std::string> dict_t;
+#ifdef __UCLIBCXX_MAJOR__
+ typedef std::map <std::string, std::string> dict_t;
+ typedef std::map <std::string, std::string> dict_t;
+#else
typedef std::map <std::string, const std::string> dict_t;
+#endif
metadata_t (const dict_t &dict);
metadata_t (const dict_t &dict);
virtual ~metadata_t ();
virtual ~metadata_t ();
@ -21,21 +24,27 @@
--- a/src/stream_engine.cpp
--- a/src/stream_engine.cpp
+++ b/src/stream_engine.cpp
+++ b/src/stream_engine.cpp
@@ -208,7 +208,7 @@ void zmq::stream_engine_t::plug (io_thread_t *io_thread_,
@@ -208,7 +208,11 @@ void zmq::stream_engine_t::plug (io_thread_t *io_thread_,
// Compile metadata.
// Compile metadata.
typedef metadata_t::dict_t properties_t;
typedef metadata_t::dict_t properties_t;
properties_t properties;
properties_t properties;
- properties.insert(std::make_pair("Peer-Address", peer_address));
+#ifdef __UCLIBCXX_MAJOR__
+ properties.insert(std::make_pair<std::string, std::string>("Peer-Address", peer_address));
+ properties.insert(std::make_pair<std::string, std::string>("Peer-Address", peer_address));
+#else
properties.insert(std::make_pair("Peer-Address", peer_address));
+#endif
zmq_assert (metadata == NULL);
zmq_assert (metadata == NULL);
metadata = new (std::nothrow) metadata_t (properties);
metadata = new (std::nothrow) metadata_t (properties);
}
}
@@ -815,7 +815,7 @@ void zmq::stream_engine_t::mechanism_ready ()
@@ -815,7 +815,11 @@ void zmq::stream_engine_t::mechanism_ready ()
// If we have a peer_address, add it to metadata
// If we have a peer_address, add it to metadata
if (!peer_address.empty()) {
if (!peer_address.empty()) {
- properties.insert(std::make_pair("Peer-Address", peer_address));
+#ifdef __UCLIBCXX_MAJOR__
+ properties.insert(std::make_pair<std::string, std::string>("Peer-Address", peer_address));
+ properties.insert(std::make_pair<std::string, std::string>("Peer-Address", peer_address));
+#else
properties.insert(std::make_pair("Peer-Address", peer_address));
+#endif
}
}
// Add ZAP properties.
// Add ZAP properties.