summaryrefslogtreecommitdiff
path: root/src/vtcp_listener.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vtcp_listener.cpp')
-rw-r--r--src/vtcp_listener.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/vtcp_listener.cpp b/src/vtcp_listener.cpp
index 93d9e69..685b992 100644
--- a/src/vtcp_listener.cpp
+++ b/src/vtcp_listener.cpp
@@ -59,15 +59,19 @@ int zmq::vtcp_listener_t::set_address (const char *addr_)
}
// Parse port and subport.
+ uint16_t port;
+ uint32_t subport;
const char *delimiter = strrchr (addr_, '.');
if (!delimiter) {
- errno = EINVAL;
- return -1;
+ port = 9220;
+ subport = (uint32_t) atoi (addr_ + 2);
+ }
+ else {
+ std::string port_str (addr_ + 2, delimiter - addr_ - 2);
+ std::string subport_str (delimiter + 1);
+ port = (uint16_t) atoi (port_str.c_str ());
+ subport = (uint32_t) atoi (subport_str.c_str ());
}
- std::string port_str (addr_ + 2, delimiter - addr_ - 2);
- std::string subport_str (delimiter + 1);
- uint16_t port = (uint16_t) atoi (port_str.c_str ());
- uint32_t subport = (uint32_t) atoi (subport_str.c_str ());
// Start listening.
s = vtcp_bind (port, subport);