diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2017-12-27 12:18:28 +0100 |
---|---|---|
committer | Ulrich Sibiller <uli42@gmx.de> | 2017-12-29 02:31:26 +0100 |
commit | c48748ba0929a488437d85732032aef78528093b (patch) | |
tree | b2b6a4a20da45be638734c06d4f1cfbad8faf10b /nxcomp/src | |
parent | f1905c86470e5b76d72af12c9c77ecc719096b3f (diff) | |
download | nx-libs-c48748ba0929a488437d85732032aef78528093b.tar.gz nx-libs-c48748ba0929a488437d85732032aef78528093b.tar.bz2 nx-libs-c48748ba0929a488437d85732032aef78528093b.zip |
ChannelEndPoint.cpp: re-scope/improve getSpec
Diffstat (limited to 'nxcomp/src')
-rw-r--r-- | nxcomp/src/ChannelEndPoint.cpp | 28 | ||||
-rw-r--r-- | nxcomp/src/Loop.cpp | 2 |
2 files changed, 21 insertions, 9 deletions
diff --git a/nxcomp/src/ChannelEndPoint.cpp b/nxcomp/src/ChannelEndPoint.cpp index a1d96086a..2abc0ee6a 100644 --- a/nxcomp/src/ChannelEndPoint.cpp +++ b/nxcomp/src/ChannelEndPoint.cpp @@ -113,13 +113,19 @@ ChannelEndPoint::setSpec(const char *hostName, long port) { bool ChannelEndPoint::getSpec(char **socketUri) const { - if (socketUri) *socketUri = NULL; + if (socketUri) + { + *socketUri = NULL; + } + else + { + return false; + } char *unixPath = NULL; char *hostName = NULL; long port = -1; - char *newSocketUri = NULL; int length = -1; if (getUnixPath(&unixPath)) @@ -133,17 +139,21 @@ ChannelEndPoint::getSpec(char **socketUri) const { if (length > 0) { - newSocketUri = static_cast<char *>(calloc(length + 1, sizeof(char))); - if (isUnixSocket()) - snprintf(newSocketUri, length+1, "unix:%s", unixPath); - else - snprintf(newSocketUri, length+1, "tcp:%s:%ld", hostName, port); + char *newSocketUri = static_cast<char *>(calloc(length + 1, sizeof(char))); + + if (newSocketUri) + { + if (isUnixSocket()) + snprintf(newSocketUri, length+1, "unix:%s", unixPath); + else + snprintf(newSocketUri, length+1, "tcp:%s:%ld", hostName, port); - if (socketUri) *socketUri = strdup(newSocketUri); + + SAFE_FREE(newSocketUri); + } } - SAFE_FREE(newSocketUri); SAFE_FREE(unixPath); SAFE_FREE(hostName); diff --git a/nxcomp/src/Loop.cpp b/nxcomp/src/Loop.cpp index 5b6c2b4bc..fa8ba9a1e 100644 --- a/nxcomp/src/Loop.cpp +++ b/nxcomp/src/Loop.cpp @@ -6222,6 +6222,8 @@ int WaitForRemote(ChannelEndPoint &socketAddress) pFD = ListenConnection(socketAddress, "NX"); + SAFE_FREE(socketUri); + socketAddress.getSpec(&socketUri); nxinfo << "Loop: Waiting for connection from " << hostLabel << " on socket '" << socketUri |