Mercurial > pidgin
comparison src/protocols/jabber/roster.c @ 7955:119a22025818
[gaim-migrate @ 8630]
fun jabber stuff, which isn't done yet. mostly harmless, and committing this now makes the next
commit that much easier for a lazy person such as myself to type.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Mon, 29 Dec 2003 08:59:22 +0000 |
parents | c42d1532faab |
children | 81a63a9bff88 |
comparison
equal
deleted
inserted
replaced
7954:6dc91824d8d4 | 7955:119a22025818 |
---|---|
53 | 53 |
54 static void add_gaim_buddies_in_groups(JabberStream *js, const char *jid, | 54 static void add_gaim_buddies_in_groups(JabberStream *js, const char *jid, |
55 const char *alias, GSList *groups) | 55 const char *alias, GSList *groups) |
56 { | 56 { |
57 GSList *buddies, *g2, *l; | 57 GSList *buddies, *g2, *l; |
58 int present =0, idle=0, signon=0, state=0; | 58 int present =0, idle=0, state=0; |
59 | 59 |
60 buddies = gaim_find_buddies(js->gc->account, jid); | 60 buddies = gaim_find_buddies(js->gc->account, jid); |
61 | 61 |
62 g2 = groups; | 62 g2 = groups; |
63 | 63 |
68 return; | 68 return; |
69 } | 69 } |
70 | 70 |
71 if(buddies) { | 71 if(buddies) { |
72 present = ((GaimBuddy*)buddies->data)->present; | 72 present = ((GaimBuddy*)buddies->data)->present; |
73 signon = ((GaimBuddy*)buddies->data)->signon; | |
74 idle = ((GaimBuddy*)buddies->data)->idle; | 73 idle = ((GaimBuddy*)buddies->data)->idle; |
75 state = ((GaimBuddy*)buddies->data)->uc; | 74 state = ((GaimBuddy*)buddies->data)->uc; |
76 } | 75 } |
77 | 76 |
78 while(buddies) { | 77 while(buddies) { |
80 GaimGroup *g = gaim_find_buddys_group(b); | 79 GaimGroup *g = gaim_find_buddys_group(b); |
81 | 80 |
82 buddies = g_slist_remove(buddies, b); | 81 buddies = g_slist_remove(buddies, b); |
83 | 82 |
84 if((l = g_slist_find_custom(g2, g->name, (GCompareFunc)strcmp))) { | 83 if((l = g_slist_find_custom(g2, g->name, (GCompareFunc)strcmp))) { |
84 const char *servernick; | |
85 | |
86 if((servernick = gaim_blist_node_get_string((GaimBlistNode*)b, "servernick"))) | |
87 serv_got_alias(js->gc, jid, servernick); | |
88 | |
85 if(alias && (!b->alias || strcmp(b->alias, alias))) | 89 if(alias && (!b->alias || strcmp(b->alias, alias))) |
86 gaim_blist_alias_buddy(b, alias); | 90 gaim_blist_alias_buddy(b, alias); |
87 g_free(l->data); | 91 g_free(l->data); |
88 g2 = g_slist_delete_link(g2, l); | 92 g2 = g_slist_delete_link(g2, l); |
89 } else { | 93 } else { |
99 g = gaim_group_new(g2->data); | 103 g = gaim_group_new(g2->data); |
100 gaim_blist_add_group(g, NULL); | 104 gaim_blist_add_group(g, NULL); |
101 } | 105 } |
102 | 106 |
103 b->present = present; | 107 b->present = present; |
104 b->signon = signon; | |
105 b->idle = idle; | 108 b->idle = idle; |
106 b->uc = state; | 109 b->uc = state; |
107 | 110 |
108 gaim_blist_add_buddy(b, NULL, g, NULL); | 111 gaim_blist_add_buddy(b, NULL, g, NULL); |
112 gaim_blist_alias_buddy(b, alias); | |
109 g_free(g2->data); | 113 g_free(g2->data); |
110 g2 = g_slist_delete_link(g2, g2); | 114 g2 = g_slist_delete_link(g2, g2); |
111 } | 115 } |
112 | 116 |
113 g_slist_free(buddies); | 117 g_slist_free(buddies); |