diff 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
line wrap: on
line diff
--- a/mcabber/src/jabglue.c	Fri Jun 22 19:21:23 2007 +0200
+++ b/mcabber/src/jabglue.c	Fri Jun 22 20:24:19 2007 +0200
@@ -335,15 +335,30 @@
 {
   xmlnode y;
   const char *ver = entity_version();
+  char *exts, *exts2;
+
+  exts = NULL;
 
   y = xmlnode_insert_tag(x, "c");
   xmlnode_put_attrib(y, "xmlns", NS_CAPS);
   xmlnode_put_attrib(y, "node", MCABBER_CAPS_NODE);
   xmlnode_put_attrib(y, "ver", ver);
 #ifdef JEP0085
-  if (!chatstates_disabled)
-    xmlnode_put_attrib(y, "ext", "csn");
+  if (!chatstates_disabled) {
+    exts2 = g_strjoin(" ", "csn", exts, NULL);
+    g_free(exts);
+    exts = exts2;
+  }
 #endif
+  if (!settings_opt_get_int("iq_last_disable")) {
+    exts2 = g_strjoin(" ", "iql", exts, NULL);
+    g_free(exts);
+    exts = exts2;
+  }
+  if (exts) {
+    xmlnode_put_attrib(y, "ext", exts);
+    g_free(exts);
+  }
 }
 
 static void roompresence(gpointer room, void *presencedata)