Apply patches sugested by Taroe Hong plus some more bugfixes.
[citadel.git] / citadel / modules / xmpp / xmpp_query_namespace.c
index 82e60647e9bd03d1cfbf16d735cda970ce3902b3..d943df16db6f7e1e7139fec860ca41b2cca0a41a 100644 (file)
@@ -1,14 +1,21 @@
 /*
  * Handle <iq> <get> <query> type situations (namespace queries)
  *
- * Copyright (c) 2007-2014 by Art Cancro
+ * Copyright (c) 2007-2009 by Art Cancro
  *
- * This program is open source software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ *  This program is open source software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 3.
+ *  
+ *  
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  
+ *  
+ *  
  */
 
 #include "sysdep.h"
  */
 void xmpp_roster_item(struct CitContext *cptr)
 {
+       struct CitContext *CCC=CC;
+
        XPrint(HKEY("item"), 0,
-               XCPROPERTY("subscription", "both"),
-               XPROPERTY("jid",  cptr->cs_inet_email, strlen(cptr->cs_inet_email)),
-               XPROPERTY("name", cptr->user.fullname, strlen(cptr->user.fullname)),
-               TYPE_ARGEND
-       );
+              XCPROPERTY("subscription", "both"),
+              XPROPERTY("jid",  cptr->cs_inet_email, strlen(cptr->cs_inet_email)),
+              XPROPERTY("name", cptr->user.fullname, strlen(cptr->user.fullname)),
+              TYPE_ARGEND);
 
        XPrint(HKEY("group"), XCLOSED,
               XCFGBODY(c_humannode),
@@ -108,9 +116,7 @@ void xmpp_query_namespace(TheToken_iq *IQ/*char *iq_id, char *iq_from, char *iq_
 {
        int supported_namespace = 0;
        int roster_query = 0;
-       const char *TypeStr;
-       long TLen;
-       ConstStr Type[] = {
+       static const ConstStr Type[] = {
                {HKEY("result")},
                {HKEY("error")}
        };
@@ -132,20 +138,19 @@ void xmpp_query_namespace(TheToken_iq *IQ/*char *iq_id, char *iq_from, char *iq_
         * Beginning of query result.
         */
        if (supported_namespace) {
-               TypeStr = Type[0].Key;
-               TLen    = Type[0].len;
+               XPrint(HKEY("iq"), 0,
+                      XPROPERTY("type", Type[0].Key, Type[0].len),
+                      XSPROPERTY("to",  IQ->from),
+                      XSPROPERTY("id",   IQ->id),
+                      TYPE_ARGEND);
        }
        else {
-               TypeStr = Type[1].Key;
-               TLen    = Type[1].len;
+               XPrint(HKEY("iq"), 0,
+                      XPROPERTY("type", Type[1].Key, Type[1].len),
+                      XSPROPERTY("id",   IQ->id),
+                      TYPE_ARGEND);
        }
 
-       XPrint(HKEY("iq"), 0,
-              XPROPERTY("type", TypeStr, TLen),
-              XSPROPERTY("to",  IQ->from),
-              XSPROPERTY("id",   IQ->id),
-              TYPE_ARGEND);
-
        /*
         * Is this a query we know how to handle?
         */