summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2008-07-26 14:22:00 +0000
committerDan Winship <danw@src.gnome.org>2008-07-26 14:22:00 +0000
commitc11912a30ed808d35d6927b1cc27fc387a55f77d (patch)
tree80a9f3da2d430bc5114c68316f4c84949abc072d
parentfb649a87fc9a6419535c05696567f37cd9d2e3cb (diff)
downloadlibsoup-c11912a30ed808d35d6927b1cc27fc387a55f77d.tar.gz
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
-rw-r--r--ChangeLog3
-rw-r--r--libsoup/soup-gnutls.c12
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 <tml@novell.com>
* 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;