diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/bee_user.c | 4 | ||||
| -rw-r--r-- | protocols/msn/msn.c | 4 | ||||
| -rw-r--r-- | protocols/msn/ns.c | 3 | ||||
| -rw-r--r-- | protocols/msn/sb.c | 3 | ||||
| -rw-r--r-- | protocols/yahoo/yahoo.c | 2 | 
5 files changed, 7 insertions, 9 deletions
| diff --git a/protocols/bee_user.c b/protocols/bee_user.c index ea1be3db..0a211c71 100644 --- a/protocols/bee_user.c +++ b/protocols/bee_user.c @@ -67,6 +67,8 @@ int bee_user_free(bee_t *bee, bee_user_t *bu)  		bu->ic->acc->prpl->buddy_data_free(bu);  	} +	bee->users = g_slist_remove(bee->users, bu); +  	g_free(bu->handle);  	g_free(bu->fullname);  	g_free(bu->nick); @@ -74,8 +76,6 @@ int bee_user_free(bee_t *bee, bee_user_t *bu)  	g_free(bu->status_msg);  	g_free(bu); -	bee->users = g_slist_remove(bee->users, bu); -  	return 1;  } diff --git a/protocols/msn/msn.c b/protocols/msn/msn.c index 6ab35696..cb3f842c 100644 --- a/protocols/msn/msn.c +++ b/protocols/msn/msn.c @@ -111,10 +111,10 @@ static void msn_logout(struct im_connection *ic)  		while (md->groups) {  			struct msn_group *mg = md->groups->data; +			md->groups = g_slist_remove(md->groups, mg);  			g_free(mg->id);  			g_free(mg->name);  			g_free(mg); -			md->groups = g_slist_remove(md->groups, mg);  		}  		g_free(md->profile_rid); @@ -126,10 +126,10 @@ static void msn_logout(struct im_connection *ic)  		while (md->grpq) {  			struct msn_groupadd *ga = md->grpq->data; +			md->grpq = g_slist_remove(md->grpq, ga);  			g_free(ga->group);  			g_free(ga->who);  			g_free(ga); -			md->grpq = g_slist_remove(md->grpq, ga);  		}  		g_free(md); diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c index f6c553a8..02abc52c 100644 --- a/protocols/msn/ns.c +++ b/protocols/msn/ns.c @@ -943,10 +943,9 @@ void msn_ns_oim_send_queue(struct im_connection *ic, GSList **msgq)  	while (*msgq != NULL) {  		struct msn_message *m = (*msgq)->data; +		*msgq = g_slist_remove(*msgq, m);  		g_free(m->who);  		g_free(m->text);  		g_free(m); - -		*msgq = g_slist_remove(*msgq, m);  	}  } diff --git a/protocols/msn/sb.c b/protocols/msn/sb.c index d0412961..a9f3838f 100644 --- a/protocols/msn/sb.c +++ b/protocols/msn/sb.c @@ -518,11 +518,10 @@ static int msn_sb_command(struct msn_handler_data *handler, char **cmd, int num_  						st = msn_sb_sendmessage(sb, m->text);  					}  				} +				sb->msgq = g_slist_remove(sb->msgq, m);  				g_free(m->text);  				g_free(m->who);  				g_free(m); - -				sb->msgq = g_slist_remove(sb->msgq, m);  			}  			msn_sb_start_keepalives(sb, FALSE); diff --git a/protocols/yahoo/yahoo.c b/protocols/yahoo/yahoo.c index 8048ef8f..728803fb 100644 --- a/protocols/yahoo/yahoo.c +++ b/protocols/yahoo/yahoo.c @@ -732,9 +732,9 @@ void ext_yahoo_remove_handler(int id, int tag)  	while (l) {  		inp = l->data;  		if (inp->h == tag) { +			byahoo_inputs = g_slist_remove(byahoo_inputs, inp);  			g_free(inp->d);  			g_free(inp); -			byahoo_inputs = g_slist_remove(byahoo_inputs, inp);  			break;  		}  		l = l->next; | 
