mcabber/mcabber/xmpp.c
changeset 1731 4fbfae993c24
parent 1730 860b58a0e8da
child 1733 a9b0364c0cb2
--- a/mcabber/mcabber/xmpp.c	Sun Feb 28 17:02:26 2010 +0100
+++ b/mcabber/mcabber/xmpp.c	Sun Feb 28 18:50:30 2010 +0100
@@ -851,17 +851,20 @@
                                gpointer user_data)
 {
   if (success) {
+
+    xmpp_iq_request(NULL, NS_ROSTER);
+    xmpp_request_storage("storage:bookmarks");
+    xmpp_request_storage("storage:rosternotes");
+
+    /* XXX Not needed before xmpp_setprevstatus()
     LmMessage *m;
-
     m = lm_message_new_with_sub_type(NULL, LM_MESSAGE_TYPE_PRESENCE,
                                      LM_MESSAGE_SUB_TYPE_AVAILABLE);
     lm_connection_send(connection, m, NULL);
+    lm_message_unref(m);
+    */
 
-    lm_message_unref(m);
     xmpp_setprevstatus();
-    xmpp_iq_request(NULL, NS_ROSTER);
-    xmpp_request_storage("storage:bookmarks");
-    xmpp_request_storage("storage:rosternotes");
 
     AutoConnection = TRUE;
   } else
@@ -1320,7 +1323,7 @@
                                        LmConnection *connection,
                                        LmMessage *m, gpointer user_data)
 {
-  char *r;
+  char *bjid;
   const char *from, *rname, *p=NULL, *ustmsg=NULL;
   enum imstatus ust;
   char bpprio;
@@ -1344,12 +1347,12 @@
     }
   }
 
-  r = jidtodisp(from);
+  bjid = jidtodisp(from);
   mstype = lm_message_get_sub_type(m);
 
   if (mstype == LM_MESSAGE_SUB_TYPE_ERROR) {
     LmMessageNode *x;
-    scr_LogPrint(LPRINT_LOGNORM, "Error presence packet from <%s>", r);
+    scr_LogPrint(LPRINT_LOGNORM, "Error presence packet from <%s>", bjid);
     x = lm_message_node_find_child(m->node, "error");
     display_server_error(x);
     // Let's check it isn't a nickname conflict.
@@ -1358,13 +1361,13 @@
       if (atoi(p) == 409) {
         // 409 = conflict (nickname is in use or registered by another user)
         // If we are not inside this room, we should reset the nickname
-        GSList *room_elt = roster_find(r, jidsearch, 0);
+        GSList *room_elt = roster_find(bjid, jidsearch, 0);
         if (room_elt && !buddy_getinsideroom(room_elt->data))
           buddy_setnickname(room_elt->data, NULL);
       }
     }
 
-    g_free(r);
+    g_free(bjid);
     return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
   }
 
@@ -1392,24 +1395,24 @@
 
   if (muc_packet) {
     // This is a MUC presence message
-    handle_muc_presence(from, muc_packet, r, rname,
+    handle_muc_presence(from, muc_packet, bjid, rname,
                         ust, ustmsg, timestamp, bpprio);
   } else {
     // Not a MUC message, so this is a regular buddy...
     // Call hk_statuschange() if status has changed or if the
     // status message is different
     const char *msg;
-    msg = roster_getstatusmsg(r, rname);
-    if ((ust != roster_getstatus(r, rname)) ||
+    msg = roster_getstatusmsg(bjid, rname);
+    if ((ust != roster_getstatus(bjid, rname)) ||
         (!ustmsg && msg && msg[0]) ||
         (ustmsg && (!msg || strcmp(ustmsg, msg))) ||
-        (bpprio != roster_getprio(r, rname)))
-      hk_statuschange(r, rname, bpprio, timestamp, ust, ustmsg);
+        (bpprio != roster_getprio(bjid, rname)))
+      hk_statuschange(bjid, rname, bpprio, timestamp, ust, ustmsg);
     // Presence signature processing
     if (!ustmsg)
       ustmsg = ""; // Some clients omit the <status/> element :-(
-    check_signature(r, rname, lm_message_node_find_xmlns(m->node, NS_SIGNED),
-                    ustmsg);
+    check_signature(bjid, rname,
+                    lm_message_node_find_xmlns(m->node, NS_SIGNED), ustmsg);
   }
 
   // XEP-0115 Entity Capabilities
@@ -1418,7 +1421,7 @@
     const char *ver = lm_message_node_get_attribute(caps, "ver");
     GSList *sl_buddy = NULL;
     if (rname)
-      sl_buddy = roster_find(r, jidsearch, ROSTER_TYPE_USER);
+      sl_buddy = roster_find(bjid, jidsearch, ROSTER_TYPE_USER);
     // Only cache the caps if the user is on the roster
     if (sl_buddy && buddy_getonserverflag(sl_buddy->data)) {
       buddy_resource_setcaps(sl_buddy->data, rname, ver);
@@ -1445,7 +1448,7 @@
     }
   }
 
-  g_free(r);
+  g_free(bjid);
   return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }