aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libssh/connect.c5
-rw-r--r--libssh/keyfiles.c9
-rw-r--r--libssh/misc.c3
-rw-r--r--libssh/socket.c16
4 files changed, 31 insertions, 2 deletions
diff --git a/libssh/connect.c b/libssh/connect.c
index daf26ce..98038f0 100644
--- a/libssh/connect.c
+++ b/libssh/connect.c
@@ -45,6 +45,11 @@
#define NTDDI_VERSION 0x05010000 /* NTDDI_WINXP */
#endif
+#if _MSC_VER >= 1400
+#include <io.h>
+#undef close
+#define close _close
+#endif /* _MSC_VER */
#include <winsock2.h>
#include <ws2tcpip.h>
diff --git a/libssh/keyfiles.c b/libssh/keyfiles.c
index 79b3bfe..ba9a051 100644
--- a/libssh/keyfiles.c
+++ b/libssh/keyfiles.c
@@ -34,6 +34,15 @@
#include <stdlib.h>
#ifndef _WIN32
+#if _MSC_VER >= 1400
+#include <io.h>
+#undef open
+#define open _open
+#undef close
+#define close _close
+#undef read
+#define read _read
+#endif /* _MSC_VER */
#include <arpa/inet.h>
#endif
diff --git a/libssh/misc.c b/libssh/misc.c
index b2b6ae1..552c0a2 100644
--- a/libssh/misc.c
+++ b/libssh/misc.c
@@ -38,6 +38,9 @@
#include <ws2tcpip.h>
#include <shlobj.h>
#include <direct.h>
+#if _MSC_VER >= 1400
+#include <io.h>
+#endif /* _MSC_VER */
#else /* _WIN32 */
/* This is needed for a standard getpwuid_r on opensolaris */
#define _POSIX_PTHREAD_SEMANTICS
diff --git a/libssh/socket.c b/libssh/socket.c
index b555c54..3378923 100644
--- a/libssh/socket.c
+++ b/libssh/socket.c
@@ -28,12 +28,24 @@
#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
-#else
+#if _MSC_VER >= 1400
+#include <io.h>
+#undef open
+#define open _open
+#undef close
+#define close _close
+#undef read
+#define read _read
+#undef write
+#define write _write
+#endif /* _MSC_VER */
+#else /* _WIN32 */
#include <fcntl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
-#endif
+#endif /* _WIN32 */
+
#include "libssh/priv.h"
#include "libssh/callbacks.h"
#include "libssh/socket.h"