comparison libpurple/protocols/jabber/presence.c @ 25770:b1b1b75a922e

Sprinkle jabber_resource_has_capability in places Plug a small leak
author Paul Aurich <paul@darkrain42.org>
date Wed, 26 Nov 2008 22:06:46 +0000
parents 805aadbb1a85
children e1f363f8fd6b
comparison
equal deleted inserted replaced
25769:68bfc99884ea 25770:b1b1b75a922e
396 } 396 }
397 397
398 /* old value in jbr->caps is owned by caps code */ 398 /* old value in jbr->caps is owned by caps code */
399 jbr->caps = info; 399 jbr->caps = info;
400 400
401 if (info) { 401 if (jabber_resource_has_capability(jbr, "http://jabber.org/protocol/commands")) {
402 GList *node = g_list_find_custom(info->features, "http://jabber.org/protocol/commands", (GCompareFunc)strcmp); 402 JabberIq *iq = jabber_iq_new_query(userdata->js, JABBER_IQ_GET, "http://jabber.org/protocol/disco#items");
403 if (node) { 403 xmlnode *query = xmlnode_get_child_with_namespace(iq->node, "query", "http://jabber.org/protocol/disco#items");
404 JabberIq *iq = jabber_iq_new_query(userdata->js, JABBER_IQ_GET, "http://jabber.org/protocol/disco#items"); 404 xmlnode_set_attrib(iq->node, "to", userdata->from);
405 xmlnode *query = xmlnode_get_child_with_namespace(iq->node, "query", "http://jabber.org/protocol/disco#items"); 405 xmlnode_set_attrib(query, "node", "http://jabber.org/protocol/commands");
406 xmlnode_set_attrib(iq->node, "to", userdata->from); 406 jabber_iq_set_callback(iq, jabber_adhoc_disco_result_cb, NULL);
407 xmlnode_set_attrib(query, "node", "http://jabber.org/protocol/commands"); 407 jabber_iq_send(iq);
408 jabber_iq_set_callback(iq, jabber_adhoc_disco_result_cb, NULL);
409 jabber_iq_send(iq);
410 }
411 } 408 }
412 409
413 g_free(userdata->from); 410 g_free(userdata->from);
414 g_free(userdata); 411 g_free(userdata);
415 } 412 }