Mercurial > pidgin.yaz
comparison libpurple/protocols/jabber/disco.c @ 25760:f462fa160f06
Sprinkle around more support for xml:lang on JabberIdentities
Change the IPC has_feature function to take a PurpleAccount and look up
the caps via the jbr
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 22 Nov 2008 18:26:45 +0000 |
parents | 6d6e10476c52 |
children | 1d1d1829de11 |
comparison
equal
deleted
inserted
replaced
25759:0e8b5b5c497a | 25760:f462fa160f06 |
---|---|
97 | 97 |
98 xmlnode *in_query; | 98 xmlnode *in_query; |
99 const char *node = NULL; | 99 const char *node = NULL; |
100 char *node_uri = NULL; | 100 char *node_uri = NULL; |
101 | 101 |
102 // create custom caps node URI | 102 /* create custom caps node URI */ |
103 node_uri = g_strconcat(CAPS0115_NODE, "#", jabber_caps_get_own_hash(js), NULL); | 103 node_uri = g_strconcat(CAPS0115_NODE, "#", jabber_caps_get_own_hash(js), NULL); |
104 | 104 |
105 if((in_query = xmlnode_get_child(packet, "query"))) { | 105 if((in_query = xmlnode_get_child(packet, "query"))) { |
106 node = xmlnode_get_attrib(in_query, "node"); | 106 node = xmlnode_get_attrib(in_query, "node"); |
107 } | 107 } |
124 for(identities = jabber_identities; identities; identities = identities->next) { | 124 for(identities = jabber_identities; identities; identities = identities->next) { |
125 JabberIdentity *ident = (JabberIdentity*)identities->data; | 125 JabberIdentity *ident = (JabberIdentity*)identities->data; |
126 identity = xmlnode_new_child(query, "identity"); | 126 identity = xmlnode_new_child(query, "identity"); |
127 xmlnode_set_attrib(identity, "category", ident->category); | 127 xmlnode_set_attrib(identity, "category", ident->category); |
128 xmlnode_set_attrib(identity, "type", ident->type); | 128 xmlnode_set_attrib(identity, "type", ident->type); |
129 if (ident->name != 0) xmlnode_set_attrib(identity, "name", ident->name); | 129 if (ident->lang) |
130 xmlnode_set_attrib(identity, "xml:lang", ident->lang); | |
131 if (ident->name) | |
132 xmlnode_set_attrib(identity, "name", ident->name); | |
130 } | 133 } |
131 for(features = jabber_features; features; features = features->next) { | 134 for(features = jabber_features; features; features = features->next) { |
132 JabberFeature *feat = (JabberFeature*)features->data; | 135 JabberFeature *feat = (JabberFeature*)features->data; |
133 if(feat->is_enabled == NULL || feat->is_enabled(js, feat->namespace) == TRUE) { | 136 if (!feat->is_enabled || feat->is_enabled(js, feat->namespace)) { |
134 feature = xmlnode_new_child(query, "feature"); | 137 feature = xmlnode_new_child(query, "feature"); |
135 xmlnode_set_attrib(feature, "var", feat->namespace); | 138 xmlnode_set_attrib(feature, "var", feat->namespace); |
136 } | 139 } |
137 } | 140 } |
138 } else { | 141 } else { |