- {
- /* display specifies TCP */
- unsigned short port = X_TCP_PORT + display;
- fd = _xcb_open_tcp(host, port);
- }
- }
- else
- {
- /* display specifies Unix socket */
- static const char base[] = "/tmp/.X11-unix/X";
- char file[sizeof(base) + 20];
- snprintf(file, sizeof(file), "%s%d", base, display);
- fd = _xcb_open_unix(file);
+ if (protocol
+ || strcmp("unix",host)) { /* follow the old unix: rule */
+
+ /* display specifies TCP */
+ unsigned short port = X_TCP_PORT + display;
+ return _xcb_open_tcp(host, protocol, port);
+ }