changeset 669:2b87065270f3

roster_add_group(): do not call roster_find() twice
author Mikael Berthe <mikael@lilotux.net>
date Sat, 14 Jan 2006 13:40:07 +0100
parents d0928694c81b
children 2cd0805515a4
files mcabber/src/roster.c
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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