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
typedef struct {
GIOChannel channel;
- int fd;
GIOChannel *real_sock;
gboolean non_blocking;
gnutls_session session;
{
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
} 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 *
{
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);
}
{
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
{
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 = {
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;