Mercurial > hg
diff mcabber/src/jabglue.c @ 244:5f8b529412bd
[/trunk] Changeset 257 by mikael
* Let the /add command set the nickname
author | mikael |
---|---|
date | Tue, 14 Jun 2005 19:35:37 +0000 |
parents | 8584f919d9b9 |
children | 7f2e61392b2e |
line wrap: on
line diff
--- a/mcabber/src/jabglue.c Tue Jun 14 18:01:23 2005 +0000 +++ b/mcabber/src/jabglue.c Tue Jun 14 19:35:37 2005 +0000 @@ -301,7 +301,7 @@ } // Note: the caller should check the jid is correct -void jb_addbuddy(const char *jid, const char *group) +void jb_addbuddy(const char *jid, const char *name, const char *group) { xmlnode x, y, z; char *cleanjid; @@ -321,6 +321,13 @@ z = xmlnode_insert_tag(y, "item"); xmlnode_put_attrib(z, "jid", jid); + if (name) { + char *name_utf8 = utf8_encode(name); + z = xmlnode_insert_tag(z, "name"); + xmlnode_insert_cdata(z, name_utf8, (unsigned) -1); + free(name_utf8); + } + if (group) { char *group_utf8 = utf8_encode(group); z = xmlnode_insert_tag(z, "group"); @@ -332,12 +339,11 @@ xmlnode_free(x); cleanjid = jidtodisp(jid); - roster_add_user(cleanjid, NULL, group, ROSTER_TYPE_USER); + roster_add_user(cleanjid, name, group, ROSTER_TYPE_USER); g_free(cleanjid); buddylist_build(); - // useless IMHO: if user appears his status will change - //update_roster = TRUE; + update_roster = TRUE; } void jb_delbuddy(const char *jid)