Mercurial > hg
changeset 539:ffdfddd351b8
Fix some memory leaks
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Fri, 25 Nov 2005 23:44:47 +0100 |
parents | 6310b928d04a |
children | 887c1bd37617 |
files | mcabber/src/commands.c mcabber/src/jabglue.c mcabber/src/roster.c mcabber/src/roster.h mcabber/src/screen.c |
diffstat | 5 files changed, 17 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/commands.c Fri Nov 25 23:10:26 2005 +0100 +++ b/mcabber/src/commands.c Fri Nov 25 23:44:47 2005 +0100 @@ -1261,7 +1261,7 @@ return; } // Quick check: if there are resources, we haven't left - if (buddy_getresources(bud)) { + if (buddy_isresource(bud)) { scr_LogPrint(LPRINT_NORMAL, "You haven't left this room!"); return; }
--- a/mcabber/src/jabglue.c Fri Nov 25 23:10:26 2005 +0100 +++ b/mcabber/src/jabglue.c Fri Nov 25 23:44:47 2005 +0100 @@ -275,7 +275,7 @@ char *to; struct T_presence *pres = presencedata; - if (!buddy_getresources(room)) // FIXME: that's a memory leak + if (!buddy_isresource(room)) return; jid = buddy_getjid(room);
--- a/mcabber/src/roster.c Fri Nov 25 23:10:26 2005 +0100 +++ b/mcabber/src/roster.c Fri Nov 25 23:44:47 2005 +0100 @@ -874,6 +874,19 @@ return reslist; } +// buddy_isresource(roster_data) +// Return true if there is at least one resource +// (which means, for a room, that it isn't empty) +int buddy_isresource(gpointer rosterdata) +{ + roster *roster_usr = rosterdata; + if (!roster_usr) + return FALSE; + if (roster_usr->resource) + return TRUE; + return FALSE; +} + // buddy_resource_setname(roster_data, oldname, newname) // Useful for nickname change in a MUC room void buddy_resource_setname(gpointer rosterdata, const char *resname,
--- a/mcabber/src/roster.h Fri Nov 25 23:10:26 2005 +0100 +++ b/mcabber/src/roster.h Fri Nov 25 23:44:47 2005 +0100 @@ -80,6 +80,7 @@ enum imstatus buddy_getstatus(gpointer rosterdata, const char *resname); const char *buddy_getstatusmsg(gpointer rosterdata, const char *resname); gchar buddy_getresourceprio(gpointer rosterdata, const char *resname); +int buddy_isresource(gpointer rosterdata); GSList *buddy_getresources(gpointer rosterdata); void buddy_resource_setname(gpointer rosterdata, const char *resname, const char *newname);