From c11912a30ed808d35d6927b1cc27fc387a55f77d Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Sat, 26 Jul 2008 14:22:00 +0000 Subject: Fix horrible bizarre brokenness in GIOChannel subclassing. #536417, Tor * libsoup/soup-gnutls.c: Fix horrible bizarre brokenness in GIOChannel subclassing. #536417, Tor Lillqvist. svn path=/trunk/; revision=1148 --- ChangeLog | 3 +++ libsoup/soup-gnutls.c | 12 +++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6febbf15..cb27adf6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -45,6 +45,9 @@ read_length, write_length, and written to goffset so we can properly handle message bodies > 4G. #539861, Peter Christensen. + * libsoup/soup-gnutls.c: Fix horrible bizarre brokenness in + GIOChannel subclassing. #536417, Tor Lillqvist. + 2008-06-04 Tor Lillqvist * libsoup/soup-socket.c (set_fdflags): The SO_RCVTIMEO and diff --git a/libsoup/soup-gnutls.c b/libsoup/soup-gnutls.c index 8f21cb8b..3ca9de5d 100644 --- a/libsoup/soup-gnutls.c +++ b/libsoup/soup-gnutls.c @@ -45,7 +45,6 @@ struct SoupSSLCredentials { typedef struct { GIOChannel channel; - int fd; GIOChannel *real_sock; gboolean non_blocking; gnutls_session session; @@ -279,7 +278,7 @@ soup_gnutls_seek (GIOChannel *channel, { SoupGNUTLSChannel *chan = (SoupGNUTLSChannel *) channel; - return chan->real_sock->funcs->io_seek (channel, offset, type, err); + return chan->real_sock->funcs->io_seek (chan->real_sock, offset, type, err); } static GIOStatus @@ -296,7 +295,7 @@ soup_gnutls_close (GIOChannel *channel, } while (ret == GNUTLS_E_INTERRUPTED); } - return chan->real_sock->funcs->io_close (channel, err); + return chan->real_sock->funcs->io_close (chan->real_sock, err); } static GSource * @@ -305,7 +304,7 @@ soup_gnutls_create_watch (GIOChannel *channel, { SoupGNUTLSChannel *chan = (SoupGNUTLSChannel *) channel; - return chan->real_sock->funcs->io_create_watch (channel, + return chan->real_sock->funcs->io_create_watch (chan->real_sock, condition); } @@ -326,7 +325,7 @@ soup_gnutls_set_flags (GIOChannel *channel, { SoupGNUTLSChannel *chan = (SoupGNUTLSChannel *) channel; - return chan->real_sock->funcs->io_set_flags (channel, flags, err); + return chan->real_sock->funcs->io_set_flags (chan->real_sock, flags, err); } static GIOFlags @@ -334,7 +333,7 @@ soup_gnutls_get_flags (GIOChannel *channel) { SoupGNUTLSChannel *chan = (SoupGNUTLSChannel *) channel; - return chan->real_sock->funcs->io_get_flags (channel); + return chan->real_sock->funcs->io_get_flags (chan->real_sock); } static const GIOFuncs soup_gnutls_channel_funcs = { @@ -421,7 +420,6 @@ soup_ssl_wrap_iochannel (GIOChannel *sock, gboolean non_blocking, gnutls_transport_set_ptr (session, GINT_TO_POINTER (sockfd)); chan = g_slice_new0 (SoupGNUTLSChannel); - chan->fd = sockfd; chan->real_sock = sock; chan->session = session; chan->creds = creds; -- cgit v1.2.1