changeset 21604:2c45b94ab722

Andrew Gaul fixed another memory leak
author Ka-Hing Cheung <khc@hxbc.us>
date Wed, 21 Nov 2007 08:29:33 +0000
parents a4b6854737d5
children 5c74661025dc 47b2074a55d8
files libpurple/protocols/yahoo/yahoo_packet.c
diffstat 1 files changed, 4 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/yahoo/yahoo_packet.c	Wed Nov 21 05:22:39 2007 +0000
+++ b/libpurple/protocols/yahoo/yahoo_packet.c	Wed Nov 21 08:29:33 2007 +0000
@@ -219,16 +219,15 @@
 
 void yahoo_packet_write(struct yahoo_packet *pkt, guchar *data)
 {
-	GSList *l = pkt->hash;
 	int pos = 0;
 
 	/* This is only called from one place, and the list is
 	 * always backwards */
 
-	l = g_slist_reverse(l);
+	pkt->hash = g_slist_reverse(pkt->hash);
 
-	while (l) {
-		struct yahoo_pair *pair = l->data;
+	while (pkt->hash) {
+		struct yahoo_pair *pair = pkt->hash->data;
 		gchar buf[100];
 
 		g_snprintf(buf, sizeof(buf), "%d", pair->key);
@@ -242,7 +241,7 @@
 		data[pos++] = 0xc0;
 		data[pos++] = 0x80;
 
-		l = l->next;
+		pkt->hash = pkt->hash->next;
 	}
 }