summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Cristau <jcristau@debian.org>2012-02-19 13:43:54 +0100
committerJamey Sharp <jamey@minilop.net>2012-02-19 14:41:17 -0800
commit7d235c62f0d5bd0df1236cc52141c10c5d272a18 (patch)
tree4ac0221d9ccb666dd59d5a7920c23f9083bc6eb2
parentf7bd139616d228b20eeb2c96b85e4093606c93fc (diff)
downloadxcb-libxcb-7d235c62f0d5bd0df1236cc52141c10c5d272a18.tar.gz
Fallback to TCP if no protocol is specified and the UNIX connection fails
Signed-off-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Jamey Sharp <jamey@minilop.net>
-rw-r--r--src/xcb_util.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/xcb_util.c b/src/xcb_util.c
index 7173db3..f17aa3c 100644
--- a/src/xcb_util.c
+++ b/src/xcb_util.c
@@ -235,6 +235,11 @@ static int _xcb_open(const char *host, char *protocol, const int display)
fd = _xcb_open_unix(protocol, file);
free(file);
+ if (fd < 0 && !protocol && *host == '\0') {
+ unsigned short port = X_TCP_PORT + display;
+ fd = _xcb_open_tcp(host, protocol, port);
+ }
+
return fd;
#endif /* !_WIN32 */
return -1; /* if control reaches here then something has gone wrong */