Mercurial > pidgin.yaz
comparison libpurple/protocols/jabber/buddy.c @ 29453:89f072f356ef
jabber: --header_contents;
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Mon, 15 Feb 2010 06:39:09 +0000 |
parents | 86204988c522 |
children | fbefcfbb5377 |
comparison
equal
deleted
inserted
replaced
29452:86204988c522 | 29453:89f072f356ef |
---|---|
55 PurpleNotifyUserInfo *user_info; | 55 PurpleNotifyUserInfo *user_info; |
56 long last_seconds; | 56 long last_seconds; |
57 gchar *last_message; | 57 gchar *last_message; |
58 } JabberBuddyInfo; | 58 } JabberBuddyInfo; |
59 | 59 |
60 static void | |
61 jabber_buddy_resource_free(JabberBuddyResource *jbr) | |
62 { | |
63 g_return_if_fail(jbr != NULL); | |
64 | |
65 jbr->jb->resources = g_list_remove(jbr->jb->resources, jbr); | |
66 | |
67 while(jbr->commands) { | |
68 JabberAdHocCommands *cmd = jbr->commands->data; | |
69 g_free(cmd->jid); | |
70 g_free(cmd->node); | |
71 g_free(cmd->name); | |
72 g_free(cmd); | |
73 jbr->commands = g_list_delete_link(jbr->commands, jbr->commands); | |
74 } | |
75 | |
76 while (jbr->caps.exts) { | |
77 g_free(jbr->caps.exts->data); | |
78 jbr->caps.exts = g_list_delete_link(jbr->caps.exts, jbr->caps.exts); | |
79 } | |
80 | |
81 g_free(jbr->name); | |
82 g_free(jbr->status); | |
83 g_free(jbr->thread_id); | |
84 g_free(jbr->client.name); | |
85 g_free(jbr->client.version); | |
86 g_free(jbr->client.os); | |
87 g_free(jbr); | |
88 } | |
89 | |
60 void jabber_buddy_free(JabberBuddy *jb) | 90 void jabber_buddy_free(JabberBuddy *jb) |
61 { | 91 { |
62 g_return_if_fail(jb != NULL); | 92 g_return_if_fail(jb != NULL); |
63 | 93 |
64 g_free(jb->error_msg); | 94 g_free(jb->error_msg); |
215 jbr->status = g_strdup(status); | 245 jbr->status = g_strdup(status); |
216 | 246 |
217 jb->resources = g_list_insert_sorted(jb->resources, jbr, | 247 jb->resources = g_list_insert_sorted(jb->resources, jbr, |
218 resource_compare_cb); | 248 resource_compare_cb); |
219 return jbr; | 249 return jbr; |
220 } | |
221 | |
222 void jabber_buddy_resource_free(JabberBuddyResource *jbr) | |
223 { | |
224 g_return_if_fail(jbr != NULL); | |
225 | |
226 jbr->jb->resources = g_list_remove(jbr->jb->resources, jbr); | |
227 | |
228 while(jbr->commands) { | |
229 JabberAdHocCommands *cmd = jbr->commands->data; | |
230 g_free(cmd->jid); | |
231 g_free(cmd->node); | |
232 g_free(cmd->name); | |
233 g_free(cmd); | |
234 jbr->commands = g_list_delete_link(jbr->commands, jbr->commands); | |
235 } | |
236 | |
237 if (jbr->caps.exts) { | |
238 g_list_foreach(jbr->caps.exts, (GFunc)g_free, NULL); | |
239 g_list_free(jbr->caps.exts); | |
240 } | |
241 g_free(jbr->name); | |
242 g_free(jbr->status); | |
243 g_free(jbr->thread_id); | |
244 g_free(jbr->client.name); | |
245 g_free(jbr->client.version); | |
246 g_free(jbr->client.os); | |
247 g_free(jbr); | |
248 } | 250 } |
249 | 251 |
250 void jabber_buddy_remove_resource(JabberBuddy *jb, const char *resource) | 252 void jabber_buddy_remove_resource(JabberBuddy *jb, const char *resource) |
251 { | 253 { |
252 JabberBuddyResource *jbr = jabber_buddy_find_resource(jb, resource); | 254 JabberBuddyResource *jbr = jabber_buddy_find_resource(jb, resource); |