src/blist.c

changeset 8675
4a14d9ec84a5
parent 8549
caf1637b2c17
child 8710
360b660e428d
equal deleted inserted replaced
8674:0dea30b62336 8675:4a14d9ec84a5
346 } 346 }
347 347
348 void gaim_blist_rename_buddy (GaimBuddy *buddy, const char *name) 348 void gaim_blist_rename_buddy (GaimBuddy *buddy, const char *name)
349 { 349 {
350 GaimBlistUiOps *ops = gaimbuddylist->ui_ops; 350 GaimBlistUiOps *ops = gaimbuddylist->ui_ops;
351 struct _gaim_hbuddy *hb = g_new(struct _gaim_hbuddy, 1);
352
353 hb->name = g_strdup(gaim_normalize(buddy->account, buddy->name));
354 hb->account = buddy->account;
355 hb->group = ((GaimBlistNode *)buddy)->parent->parent;
356 g_hash_table_remove(gaimbuddylist->buddies, hb);
357
358 g_free(hb->name);
359 hb->name = g_strdup(gaim_normalize(buddy->account, name));
360 g_hash_table_replace(gaimbuddylist->buddies, hb, buddy);
361
351 g_free(buddy->name); 362 g_free(buddy->name);
352 buddy->name = g_strdup(name); 363 buddy->name = g_strdup(name);
353 if (ops) 364 if (ops)
354 ops->update(gaimbuddylist, (GaimBlistNode*)buddy); 365 ops->update(gaimbuddylist, (GaimBlistNode*)buddy);
355 } 366 }

mercurial