[gtk+] Broadway: Allow Compilation on Windows/MSVC



commit 2268e9d6c98c89fd42ee643aeadc6ab971178a49
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Mon Jul 1 14:51:03 2013 +0200

    Broadway: Allow Compilation on Windows/MSVC
    
    -Don't include unistd.h unconditionally as it's not available in Visual
     Studio, but include io.h where necessary.
    -Avoid C99isms, and use _chsize_s in place of ftruncate when unistd.h is
     not available (as in the case of Visual Studio)

 gdk/broadway/broadway-server.c     |    6 +++++-
 gdk/broadway/gdkbroadway-server.c  |    5 +++++
 gdk/broadway/gdkdisplay-broadway.c |    2 ++
 gdk/broadway/gdkkeys-broadway.c    |    2 ++
 4 files changed, 14 insertions(+), 1 deletions(-)
---
diff --git a/gdk/broadway/broadway-server.c b/gdk/broadway/broadway-server.c
index 37135c5..7c3b334 100644
--- a/gdk/broadway/broadway-server.c
+++ b/gdk/broadway/broadway-server.c
@@ -12,7 +12,11 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#elif defined (G_OS_WIN32)
+#include <io.h>
+#endif
 #include <crypt.h>
 #ifdef HAVE_SYS_MMAN_H
 #include <sys/mman.h>
@@ -979,7 +983,7 @@ static gchar *
 generate_handshake_response_wsietf_v7 (const gchar *key)
 {
   gsize digest_len = 20;
-  guchar digest[digest_len];
+  guchar digest[20];
   GChecksum *checksum;
 
   checksum = g_checksum_new (G_CHECKSUM_SHA1);
diff --git a/gdk/broadway/gdkbroadway-server.c b/gdk/broadway/gdkbroadway-server.c
index 27fca43..5017ef2 100644
--- a/gdk/broadway/gdkbroadway-server.c
+++ b/gdk/broadway/gdkbroadway-server.c
@@ -18,7 +18,12 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#elif defined (G_OS_WIN32)
+#include <io.h>
+#define ftruncate _chsize_s
+#endif
 #include <sys/types.h>
 #ifdef G_OS_WIN32
 #include <windows.h>
diff --git a/gdk/broadway/gdkdisplay-broadway.c b/gdk/broadway/gdkdisplay-broadway.c
index 70d5edf..dff7457 100644
--- a/gdk/broadway/gdkdisplay-broadway.c
+++ b/gdk/broadway/gdkdisplay-broadway.c
@@ -37,7 +37,9 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#endif
 #include <sys/types.h>
 
 static void   gdk_broadway_display_dispose            (GObject            *object);
diff --git a/gdk/broadway/gdkkeys-broadway.c b/gdk/broadway/gdkkeys-broadway.c
index 4c9cc2a..cf3c029 100644
--- a/gdk/broadway/gdkkeys-broadway.c
+++ b/gdk/broadway/gdkkeys-broadway.c
@@ -33,7 +33,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#endif
 #include <limits.h>
 #include <errno.h>
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]