aboutsummaryrefslogtreecommitdiff
path: root/libxcb/src/xcb_util.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-09-01 08:01:36 +0000
committermarha <marha@users.sourceforge.net>2010-09-01 08:01:36 +0000
commite09e8cbeb878fc881b6987280e18ce5430318451 (patch)
treee201d29fb7ae5483f9500d60b98661d3ab7b3ad5 /libxcb/src/xcb_util.c
parent1244ac35b027dbaa716057f990646adbf93e4a39 (diff)
parent2062b62455963bd62c0be570b3cac4ad481336d0 (diff)
downloadvcxsrv-e09e8cbeb878fc881b6987280e18ce5430318451.tar.gz
vcxsrv-e09e8cbeb878fc881b6987280e18ce5430318451.tar.bz2
vcxsrv-e09e8cbeb878fc881b6987280e18ce5430318451.zip
svn merge ^/branches/released .
Diffstat (limited to 'libxcb/src/xcb_util.c')
-rw-r--r--libxcb/src/xcb_util.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/libxcb/src/xcb_util.c b/libxcb/src/xcb_util.c
index af163185a..5d9da1667 100644
--- a/libxcb/src/xcb_util.c
+++ b/libxcb/src/xcb_util.c
@@ -27,24 +27,29 @@
#include <assert.h>
#include <sys/types.h>
-#include <sys/socket.h>
#include <limits.h>
-#include <sys/un.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
#ifdef DNETCONN
#include <netdnet/dnetdb.h>
#include <netdnet/dn.h>
#endif
-#include <netdb.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <unistd.h>
-#include <fcntl.h>
#include <string.h>
+#ifdef _WIN32
+#include "xcb_windefs.h"
+#else
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <fcntl.h>
+#include <netdb.h>
+#endif /* _WIN32 */
+
#include "xcb.h"
#include "xcbext.h"
#include "xcbint.h"
@@ -143,7 +148,9 @@ int xcb_parse_display(const char *name, char **host, int *displayp,
}
static int _xcb_open_tcp(const char *host, char *protocol, const unsigned short port);
+#ifndef _WIN32
static int _xcb_open_unix(char *protocol, const char *file);
+#endif /* !WIN32 */
#ifdef DNETCONN
static int _xcb_open_decnet(const char *host, char *protocol, const unsigned short port);
#endif
@@ -192,6 +199,7 @@ static int _xcb_open(const char *host, char *protocol, const int display)
}
}
+#ifndef _WIN32
filelen = strlen(base) + 1 + sizeof(display) * 3 + 1;
file = malloc(filelen);
if(file == NULL)
@@ -224,6 +232,8 @@ static int _xcb_open(const char *host, char *protocol, const int display)
free(file);
return fd;
+#endif /* !_WIN32 */
+ return -1; /* if control reaches here then something has gone wrong */
}
static int _xcb_socket(int family, int type, int proto)
@@ -236,7 +246,7 @@ static int _xcb_socket(int family, int type, int proto)
#endif
{
fd = socket(family, type, proto);
-#ifndef _MSC_VER
+#ifndef _WIN32
if (fd >= 0)
fcntl(fd, F_SETFD, FD_CLOEXEC);
#endif
@@ -368,6 +378,7 @@ static int _xcb_open_tcp(const char *host, char *protocol, const unsigned short
return fd;
}
+#ifndef _WIN32
static int _xcb_open_unix(char *protocol, const char *file)
{
int fd;
@@ -390,6 +401,7 @@ static int _xcb_open_unix(char *protocol, const char *file)
}
return fd;
}
+#endif /* !_WIN32 */
#ifdef HAVE_ABSTRACT_SOCKETS
static int _xcb_open_abstract(char *protocol, const char *file, size_t filelen)