Commit 0dede9b5 authored by Luca Boccassi's avatar Luca Boccassi

Problem: std:vector.data breaks compat with C++98

Solution: use buffer address instead
parent 4ea6df43
......@@ -100,7 +100,7 @@ int zmq::ipc_listener_t::create_wildcard_address(std::string& path_,
// We need room for tmp_path + trailing NUL
std::vector<char> buffer(tmp_path.length()+1);
strcpy(buffer.data(), tmp_path.c_str());
strcpy (&buffer[0], tmp_path.c_str ());
#ifdef HAVE_MKDTEMP
// Create the directory. POSIX requires that mkdtemp() creates the
......@@ -109,22 +109,22 @@ int zmq::ipc_listener_t::create_wildcard_address(std::string& path_,
// each socket is created in a directory created by mkdtemp(), and
// mkdtemp() guarantees a unique directory name, there will be no
// collision.
if ( mkdtemp(buffer.data()) == 0 ) {
if (mkdtemp (&buffer[0]) == 0) {
return -1;
}
path_.assign(buffer.data());
path_.assign (&buffer[0]);
file_.assign (path_ + "/socket");
#else
// Silence -Wunused-parameter. #pragma and __attribute__((unused)) are not
// very portable unfortunately...
(void) path_;
int fd = mkstemp (buffer.data());
int fd = mkstemp (&buffer[0]);
if (fd == -1)
return -1;
::close (fd);
file_.assign (buffer.data());
file_.assign (&buffer[0]);
#endif
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment