mcabber/mcabber/xmpp_iq.c
changeset 2303 4f3821bda633
parent 2292 f181418db215
child 2312 def5f64c253d
equal deleted inserted replaced
2302:245ec6d73380 2303:4f3821bda633
   554     return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   554     return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   555 
   555 
   556   r = lm_message_new_iq_from_query(m, LM_MESSAGE_SUB_TYPE_RESULT);
   556   r = lm_message_new_iq_from_query(m, LM_MESSAGE_SUB_TYPE_RESULT);
   557   query = lm_message_node_add_child(r->node, "query", NULL);
   557   query = lm_message_node_add_child(r->node, "query", NULL);
   558   lm_message_node_set_attribute(query, "xmlns", NS_DISCO_INFO);
   558   lm_message_node_set_attribute(query, "xmlns", NS_DISCO_INFO);
   559   tmp = lm_message_node_find_child(m->node, "query");
   559   tmp = lm_message_node_get_child(m->node, "query");
   560   if (tmp) {
   560   if (tmp) {
   561     node = lm_message_node_get_attribute(tmp, "node");
   561     node = lm_message_node_get_attribute(tmp, "node");
   562     param = node+strlen(MCABBER_CAPS_NODE)+1;
   562     param = node+strlen(MCABBER_CAPS_NODE)+1;
   563   }
   563   }
   564   if (node && startswith(node, MCABBER_CAPS_NODE "#", FALSE))
   564   if (node && startswith(node, MCABBER_CAPS_NODE "#", FALSE))
   594       return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   594       return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   595     }
   595     }
   596     g_free(servername);
   596     g_free(servername);
   597   }
   597   }
   598 
   598 
   599   y = lm_message_node_find_child(lm_message_node_find_xmlns(m->node, NS_ROSTER),
   599   y = lm_message_node_get_child(lm_message_node_find_xmlns(m->node, NS_ROSTER),
   600                                  "item");
   600                                  "item");
   601   for ( ; y; y = y->next) {
   601   for ( ; y; y = y->next) {
   602     char *name_tmp = NULL;
   602     char *name_tmp = NULL;
   603 
   603 
   604     fjid = lm_message_node_get_attribute(y, "jid");
   604     fjid = lm_message_node_get_attribute(y, "jid");
   605     name = lm_message_node_get_attribute(y, "name");
   605     name = lm_message_node_get_attribute(y, "name");
   606     sub = lm_message_node_get_attribute(y, "subscription");
   606     sub = lm_message_node_get_attribute(y, "subscription");
   607     ask = lm_message_node_get_attribute(y, "ask");
   607     ask = lm_message_node_get_attribute(y, "ask");
   608 
   608 
   609     if (lm_message_node_find_child(y, "group"))
   609     if (lm_message_node_get_child(y, "group"))
   610       group = lm_message_node_get_value(lm_message_node_find_child(y, "group"));
   610       group = lm_message_node_get_value(lm_message_node_get_child(y, "group"));
   611     else
   611     else
   612       group = NULL;
   612       group = NULL;
   613 
   613 
   614     if (!fjid)
   614     if (!fjid)
   615       continue;
   615       continue;