Commit 3066195d authored by Ulrich Sibiller's avatar Ulrich Sibiller

Loop.cpp: some reformatting/simplification/FIXMEs

(partially) fixes ArcticaProject/nx-libs#612
parent c31c54c1
...@@ -3861,7 +3861,8 @@ void SetupDisplaySocket(int &addr_family, sockaddr *&addr, ...@@ -3861,7 +3861,8 @@ void SetupDisplaySocket(int &addr_family, sockaddr *&addr,
#ifdef __APPLE__ #ifdef __APPLE__
if ((strncasecmp(display, "/tmp/launch", 11) == 0) || (strncasecmp(display, "/private/tmp/com.apple.launchd", 30) == 0)) if ((strncasecmp(display, "/tmp/launch", 11) == 0) ||
(strncasecmp(display, "/private/tmp/com.apple.launchd", 30) == 0))
{ {
nxinfo << "Loop: Using launchd service on socket '" nxinfo << "Loop: Using launchd service on socket '"
<< display << "'.\n" << std::flush; << display << "'.\n" << std::flush;
...@@ -3934,19 +3935,24 @@ void SetupDisplaySocket(int &addr_family, sockaddr *&addr, ...@@ -3934,19 +3935,24 @@ void SetupDisplaySocket(int &addr_family, sockaddr *&addr,
// fall back to Unix domain socket file. // fall back to Unix domain socket file.
#ifdef __linux__ #ifdef __linux__
int testSocketFD; int testSocketFD = socket(addr_family, SOCK_STREAM, PF_UNSPEC);
testSocketFD = socket(addr_family, SOCK_STREAM, PF_UNSPEC);
// this name cannot be changed as it is defined this way by the
// local X server
int len = sprintf(unixSocketName + 1, "/tmp/.X11-unix/X%d", xPort); int len = sprintf(unixSocketName + 1, "/tmp/.X11-unix/X%d", xPort);
unixSocketName[0] = '\0'; unixSocketName[0] = '\0';
sockaddr_un *xServerAddrABSTRACT = new sockaddr_un; sockaddr_un *xServerAddrABSTRACT = new sockaddr_un;
memset(xServerAddrABSTRACT, 0, sizeof(struct sockaddr_un)); memset(xServerAddrABSTRACT, 0, sizeof(struct sockaddr_un));
xServerAddrABSTRACT -> sun_family = AF_UNIX; xServerAddrABSTRACT -> sun_family = AF_UNIX;
// FIXME: ensure sun_path can hold len+1 bytes!
memcpy(xServerAddrABSTRACT -> sun_path, unixSocketName, len+1); memcpy(xServerAddrABSTRACT -> sun_path, unixSocketName, len+1);
addr_length = len +3; // FIXME: comment why + 3?
addr_length = len + 3;
int ret = connect(testSocketFD, (struct sockaddr *) xServerAddrABSTRACT, addr_length); int ret = connect(testSocketFD,
(struct sockaddr *) xServerAddrABSTRACT,
addr_length);
close(testSocketFD); close(testSocketFD);
if (ret == 0) { if (ret == 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