Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/jabglue.c @ 1255:ceada40bbe20
Update Entity Capabilities (add iq:last)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Fri, 22 Jun 2007 20:24:19 +0200 |
parents | 401639413340 |
children | d438b56990cd |
comparison
equal
deleted
inserted
replaced
1254:401639413340 | 1255:ceada40bbe20 |
---|---|
333 // Entity Capabilities (XEP-0115) | 333 // Entity Capabilities (XEP-0115) |
334 static void insert_entity_capabilities(xmlnode x) | 334 static void insert_entity_capabilities(xmlnode x) |
335 { | 335 { |
336 xmlnode y; | 336 xmlnode y; |
337 const char *ver = entity_version(); | 337 const char *ver = entity_version(); |
338 char *exts, *exts2; | |
339 | |
340 exts = NULL; | |
338 | 341 |
339 y = xmlnode_insert_tag(x, "c"); | 342 y = xmlnode_insert_tag(x, "c"); |
340 xmlnode_put_attrib(y, "xmlns", NS_CAPS); | 343 xmlnode_put_attrib(y, "xmlns", NS_CAPS); |
341 xmlnode_put_attrib(y, "node", MCABBER_CAPS_NODE); | 344 xmlnode_put_attrib(y, "node", MCABBER_CAPS_NODE); |
342 xmlnode_put_attrib(y, "ver", ver); | 345 xmlnode_put_attrib(y, "ver", ver); |
343 #ifdef JEP0085 | 346 #ifdef JEP0085 |
344 if (!chatstates_disabled) | 347 if (!chatstates_disabled) { |
345 xmlnode_put_attrib(y, "ext", "csn"); | 348 exts2 = g_strjoin(" ", "csn", exts, NULL); |
349 g_free(exts); | |
350 exts = exts2; | |
351 } | |
346 #endif | 352 #endif |
353 if (!settings_opt_get_int("iq_last_disable")) { | |
354 exts2 = g_strjoin(" ", "iql", exts, NULL); | |
355 g_free(exts); | |
356 exts = exts2; | |
357 } | |
358 if (exts) { | |
359 xmlnode_put_attrib(y, "ext", exts); | |
360 g_free(exts); | |
361 } | |
347 } | 362 } |
348 | 363 |
349 static void roompresence(gpointer room, void *presencedata) | 364 static void roompresence(gpointer room, void *presencedata) |
350 { | 365 { |
351 const char *bjid; | 366 const char *bjid; |