# HG changeset patch # User Mikael Berthe # Date 1137242407 -3600 # Node ID 2b87065270f3fe8491c502e8266728bf77ddee48 # Parent d0928694c81badbc758bad5152ae423f89956448 roster_add_group(): do not call roster_find() twice diff -r d0928694c81b -r 2b87065270f3 mcabber/src/roster.c --- a/mcabber/src/roster.c Sat Jan 14 11:02:13 2006 +0100 +++ b/mcabber/src/roster.c Sat Jan 14 13:40:07 2006 +0100 @@ -255,8 +255,11 @@ GSList *roster_add_group(const char *name) { roster *roster_grp; + GSList *p_group; + // #1 Check name doesn't already exist - if (!roster_find(name, namesearch, ROSTER_TYPE_GROUP)) { + p_group = roster_find(name, namesearch, ROSTER_TYPE_GROUP); + if (!p_group) { // #2 Create the group node roster_grp = g_new0(roster, 1); roster_grp->name = g_strdup(name); @@ -264,8 +267,10 @@ // #3 Insert (sorted) groups = g_slist_insert_sorted(groups, roster_grp, (GCompareFunc)&roster_compare_name); + p_group = roster_find(name, namesearch, ROSTER_TYPE_GROUP); } - return roster_find(name, namesearch, ROSTER_TYPE_GROUP); + return p_group; + } // Returns a pointer to the new user, or existing user with that name