summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/context-priv.c1
-rw-r--r--src/context.c10
-rw-r--r--test/common.c4
-rw-r--r--test/context.c10
4 files changed, 22 insertions, 3 deletions
diff --git a/src/context-priv.c b/src/context-priv.c
index dc85651..3c15440 100644
--- a/src/context-priv.c
+++ b/src/context-priv.c
@@ -29,7 +29,6 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
-#include <unistd.h>
#include "xkbcommon/xkbcommon.h"
#include "utils.h"
diff --git a/src/context.c b/src/context.c
index 9fac0ab..fbb48dc 100644
--- a/src/context.c
+++ b/src/context.c
@@ -29,7 +29,15 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
-#include <unistd.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <io.h>
+# ifndef S_ISDIR
+# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+# endif
+#else
+# include <unistd.h>
+#endif
#include "xkbcommon/xkbcommon.h"
#include "utils.h"
diff --git a/test/common.c b/test/common.c
index 3784d8b..446ce58 100644
--- a/test/common.c
+++ b/test/common.c
@@ -34,7 +34,11 @@
#include <limits.h>
#include <fcntl.h>
+#ifdef _MSC_VER
+#include <io.h>
+#else
#include <unistd.h>
+#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <termios.h>
diff --git a/test/context.c b/test/context.c
index 13d47a1..2f5fd37 100644
--- a/test/context.c
+++ b/test/context.c
@@ -30,7 +30,15 @@
#include <sys/stat.h>
#include <sys/types.h>
-#include <unistd.h>
+#ifdef _MSC_VER
+# include <io.h>
+# include <direct.h>
+# ifndef S_ISDIR
+# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+# endif
+#else
+# include <unistd.h>
+#endif
/* keeps a cache of all makedir/maketmpdir directories so we can free and
* rmdir them in one go, see unmakedirs() */