Update gtk-vnc with all the latest MinGW patches and latest Gnulib.
[fedora-mingw.git] / gtk-vnc / gtk-vnc-02-ioctl.patch
1 diff -r 47135c91cd9c src/gvnc.c
2 --- a/src/gvnc.c        Thu Oct 09 11:23:09 2008 -0400
3 +++ b/src/gvnc.c        Wed Oct 29 14:51:26 2008 +0000
4 @@ -2832,13 +2832,7 @@
5  
6  static gboolean gvnc_set_nonblock(int fd)
7  {
8 -#ifdef __MINGW32__
9 -       unsigned long flags = 1;
10 -       if (ioctlsocket(fd, FIONBIO, &flags) < 0) {
11 -               GVNC_DEBUG ("Failed to set nonblocking flag\n");
12 -               return FALSE;
13 -       }
14 -#else
15 +#ifndef WIN32
16         int flags;
17         if ((flags = fcntl(fd, F_GETFL)) < 0) {
18                 GVNC_DEBUG ("Failed to fcntl()\n");
19 @@ -2849,7 +2843,20 @@
20                 GVNC_DEBUG ("Failed to fcntl()\n");
21                 return FALSE;
22         }
23 -#endif
24 +
25 +#else /* WIN32 */
26 +       unsigned long flag = 1;
27 +
28 +       /* This is actually Gnulib's replacement rpl_ioctl function.
29 +        * We can't call ioctlsocket directly in any case.
30 +        */
31 +       if (ioctl (fd, FIONBIO, (void *) &flag) == -1) {
32 +               GVNC_DEBUG ("Failed to set nonblocking flag, winsock error = %d",
33 +                           WSAGetLastError ());
34 +               return FALSE;
35 +       }
36 +#endif /* WIN32 */
37 +
38         return TRUE;
39  }
40