diff --git a/ChangeLog b/ChangeLog index 815296cb0..893d9ac9f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-06-25 Tor Lillqvist + + * 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 * glib/gutils.c (g_path_get_basename): Move the documentation diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 815296cb0..893d9ac9f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +2003-06-25 Tor Lillqvist + + * 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 * glib/gutils.c (g_path_get_basename): Move the documentation diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 815296cb0..893d9ac9f 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,11 @@ +2003-06-25 Tor Lillqvist + + * 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 * glib/gutils.c (g_path_get_basename): Move the documentation diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 815296cb0..893d9ac9f 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +2003-06-25 Tor Lillqvist + + * 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 * glib/gutils.c (g_path_get_basename): Move the documentation diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 815296cb0..893d9ac9f 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +2003-06-25 Tor Lillqvist + + * 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 * glib/gutils.c (g_path_get_basename): Move the documentation diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 815296cb0..893d9ac9f 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +2003-06-25 Tor Lillqvist + + * 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 * glib/gutils.c (g_path_get_basename): Move the documentation diff --git a/glib/giowin32.c b/glib/giowin32.c index f2123727f..b7336a8f7 100644 --- a/glib/giowin32.c +++ b/glib/giowin32.c @@ -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; }