libsoup r1148 - in trunk: . libsoup



Author: danw
Date: Sat Jul 26 14:22:00 2008
New Revision: 1148
URL: http://svn.gnome.org/viewvc/libsoup?rev=1148&view=rev

Log:
	* libsoup/soup-gnutls.c: Fix horrible bizarre brokenness in
	GIOChannel subclassing. #536417, Tor Lillqvist.


Modified:
   trunk/ChangeLog
   trunk/libsoup/soup-gnutls.c

Modified: trunk/libsoup/soup-gnutls.c
==============================================================================
--- trunk/libsoup/soup-gnutls.c	(original)
+++ trunk/libsoup/soup-gnutls.c	Sat Jul 26 14:22:00 2008
@@ -45,7 +45,6 @@
 
 typedef struct {
 	GIOChannel channel;
-	int fd;
 	GIOChannel *real_sock;
 	gboolean non_blocking;
 	gnutls_session session;
@@ -279,7 +278,7 @@
 {
 	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 @@
 		} 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 @@
 {
 	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 @@
 {
 	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 @@
 {
 	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 @@
 	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;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]