Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/xmpp.c @ 1637:5f35d3573fe0
Accept an error as response to disco requests
author | franky |
---|---|
date | Sat, 24 Oct 2009 21:43:34 +0200 |
parents | 81e2d8a9106b |
children | 73fc85ea0b4b |
comparison
equal
deleted
inserted
replaced
1635:a57f2634ee7c | 1637:5f35d3573fe0 |
---|---|
1242 static LmHandlerResult cb_caps(LmMessageHandler *h, LmConnection *c, | 1242 static LmHandlerResult cb_caps(LmMessageHandler *h, LmConnection *c, |
1243 LmMessage *m, gpointer user_data) | 1243 LmMessage *m, gpointer user_data) |
1244 { | 1244 { |
1245 char *ver = user_data; | 1245 char *ver = user_data; |
1246 | 1246 |
1247 caps_add(ver); | |
1247 if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_ERROR) { | 1248 if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_ERROR) { |
1248 display_server_error(lm_message_node_get_child(m->node, "error")); | 1249 display_server_error(lm_message_node_get_child(m->node, "error")); |
1249 } else if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_RESULT) { | 1250 } else if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_RESULT) { |
1250 LmMessageNode *info; | 1251 LmMessageNode *info; |
1251 LmMessageNode *query = lm_message_node_get_child(m->node, "query"); | 1252 LmMessageNode *query = lm_message_node_get_child(m->node, "query"); |
1252 | 1253 |
1253 caps_add(ver); | |
1254 info = lm_message_node_get_child(query, "identity"); | 1254 info = lm_message_node_get_child(query, "identity"); |
1255 if (info) | 1255 if (info) |
1256 caps_set_identity(ver, lm_message_node_get_attribute(info, "category"), | 1256 caps_set_identity(ver, lm_message_node_get_attribute(info, "category"), |
1257 lm_message_node_get_attribute(info, "name"), | 1257 lm_message_node_get_attribute(info, "name"), |
1258 lm_message_node_get_attribute(info, "type")); | 1258 lm_message_node_get_attribute(info, "type")); |