Pass real &optval and &optlen to getsockopt() instead of NULL. Don't
authorTor Lillqvist <tml@iki.fi>
Wed, 25 Jun 2003 03:06:24 +0000 (03:06 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Wed, 25 Jun 2003 03:06:24 +0000 (03:06 +0000)
2003-06-25  Tor Lillqvist  <tml@iki.fi>

* glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
&optlen to getsockopt() instead of NULL. Don't remember why I
thought that NULL could be used (as we don't actually use the
returned value for anything), the Platform SDK documentation
doesn't imply so.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/giowin32.c

index 815296c..893d9ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2003-06-25  Tor Lillqvist  <tml@iki.fi>
+
+       * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
+       &optlen to getsockopt() instead of NULL. Don't remember why I
+       thought that NULL could be used (as we don't actually use the
+       returned value for anything), the Platform SDK documentation
+       doesn't imply so.
+
 2003-06-19  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_path_get_basename): Move the documentation
index 815296c..893d9ac 100644 (file)
@@ -1,3 +1,11 @@
+2003-06-25  Tor Lillqvist  <tml@iki.fi>
+
+       * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
+       &optlen to getsockopt() instead of NULL. Don't remember why I
+       thought that NULL could be used (as we don't actually use the
+       returned value for anything), the Platform SDK documentation
+       doesn't imply so.
+
 2003-06-19  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_path_get_basename): Move the documentation
index 815296c..893d9ac 100644 (file)
@@ -1,3 +1,11 @@
+2003-06-25  Tor Lillqvist  <tml@iki.fi>
+
+       * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
+       &optlen to getsockopt() instead of NULL. Don't remember why I
+       thought that NULL could be used (as we don't actually use the
+       returned value for anything), the Platform SDK documentation
+       doesn't imply so.
+
 2003-06-19  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_path_get_basename): Move the documentation
index 815296c..893d9ac 100644 (file)
@@ -1,3 +1,11 @@
+2003-06-25  Tor Lillqvist  <tml@iki.fi>
+
+       * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
+       &optlen to getsockopt() instead of NULL. Don't remember why I
+       thought that NULL could be used (as we don't actually use the
+       returned value for anything), the Platform SDK documentation
+       doesn't imply so.
+
 2003-06-19  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_path_get_basename): Move the documentation
index 815296c..893d9ac 100644 (file)
@@ -1,3 +1,11 @@
+2003-06-25  Tor Lillqvist  <tml@iki.fi>
+
+       * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
+       &optlen to getsockopt() instead of NULL. Don't remember why I
+       thought that NULL could be used (as we don't actually use the
+       returned value for anything), the Platform SDK documentation
+       doesn't imply so.
+
 2003-06-19  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_path_get_basename): Move the documentation
index 815296c..893d9ac 100644 (file)
@@ -1,3 +1,11 @@
+2003-06-25  Tor Lillqvist  <tml@iki.fi>
+
+       * glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
+       &optlen to getsockopt() instead of NULL. Don't remember why I
+       thought that NULL could be used (as we don't actually use the
+       returned value for anything), the Platform SDK documentation
+       doesn't imply so.
+
 2003-06-19  Matthias Clasen  <maclas@gmx.de>
 
        * glib/gutils.c (g_path_get_basename): Move the documentation
index f212372..b7336a8 100644 (file)
@@ -1605,14 +1605,17 @@ GIOChannel *
 g_io_channel_unix_new (gint fd)
 {
   struct stat st;
+  int optval, optlen;
 
   if (fstat (fd, &st) == 0)
     return g_io_channel_win32_new_fd_internal (fd, &st);
   
-  if (getsockopt (fd, SOL_SOCKET, SO_TYPE, NULL, NULL) != SOCKET_ERROR)
-    return g_io_channel_win32_new_socket (fd);
+  optlen = sizeof (optval);
+  if (getsockopt (fd, SOL_SOCKET, SO_TYPE, (char *) &optval, &optlen) != SOCKET_ERROR)
+    return g_io_channel_win32_new_socket(fd);
 
   g_warning (G_STRLOC ": %d is neither a file descriptor or a socket", fd);
+
   return NULL;
 }