# HG changeset patch # User Paul Aurich # Date 1239600112 0 # Node ID f1dd84b4964e11a5bf2b32e5f6872c0c130dd52e # Parent 1df3579a974b2fd8118aa32b4669dd1f6892147c Various minor nitpicky changes diff -r 1df3579a974b -r f1dd84b4964e libpurple/protocols/jabber/disco.c --- a/libpurple/protocols/jabber/disco.c Mon Apr 13 04:34:17 2009 +0000 +++ b/libpurple/protocols/jabber/disco.c Mon Apr 13 05:21:52 2009 +0000 @@ -750,19 +750,20 @@ JabberIqType type, const char *id, xmlnode *packet, gpointer data) { - struct _disco_data *disco_data = data; + struct _disco_data *disco_data; struct jabber_disco_list_data *list_data; PurpleDiscoList *list; PurpleDiscoService *parent; char *node; - xmlnode *query, *ident, *child; + xmlnode *query, *identity, *child; const char *acat, *atype, *adesc, *anode; char *aname; PurpleDiscoService *s; PurpleDiscoServiceType service_type; const char *gateway_type = NULL; - PurpleDiscoServiceFlags flags = PURPLE_DISCO_ADD; + PurpleDiscoServiceFlags flags; + disco_data = data; list_data = disco_data->list_data; list = list_data->list; parent = disco_data->parent; @@ -782,7 +783,7 @@ if (!from || type == JABBER_IQ_ERROR || (!(query = xmlnode_get_child(packet, "query"))) - || (!(ident = xmlnode_get_child(query, "identity")))) { + || (!(identity = xmlnode_get_child(query, "identity")))) { if (list_data->fetch_count == 0) purple_disco_list_set_in_progress(list, FALSE); @@ -790,23 +791,23 @@ return; } - acat = xmlnode_get_attrib(ident, "category"); - atype = xmlnode_get_attrib(ident, "type"); - adesc = xmlnode_get_attrib(ident, "name"); + acat = xmlnode_get_attrib(identity, "category"); + atype = xmlnode_get_attrib(identity, "type"); + adesc = xmlnode_get_attrib(identity, "name"); anode = xmlnode_get_attrib(query, "node"); - if (anode) { - aname = g_new0(char, strlen(from) + strlen(anode) + 1); - strcat(aname, from); - strcat(aname, anode); - } else { + if (anode) + aname = g_strdup_printf("%s%s", from, anode); + else aname = g_strdup(from); - } service_type = jabber_disco_category_from_string(acat); if (service_type == PURPLE_DISCO_SERVICE_TYPE_GATEWAY) gateway_type = jabber_disco_type_from_string(atype); + /* Default to allowing things to be add-able */ + flags = PURPLE_DISCO_ADD; + for (child = xmlnode_get_child(query, "feature"); child; child = xmlnode_get_next_twin(child)) { const char *var; @@ -814,13 +815,13 @@ if (!(var = xmlnode_get_attrib(child, "var"))) continue; - if (!strcmp(var, "jabber:iq:register")) + if (g_str_equal(var, "jabber:iq:register")) flags |= PURPLE_DISCO_REGISTER; - if (!strcmp(var, "http://jabber.org/protocol/disco#items")) + if (g_str_equal(var, "http://jabber.org/protocol/disco#items")) flags |= PURPLE_DISCO_BROWSE; - if (!strcmp(var, "http://jabber.org/protocol/muc")) + if (g_str_equal(var, "http://jabber.org/protocol/muc")) service_type = PURPLE_DISCO_SERVICE_TYPE_CHAT; }