mcabber/mcabber/commands.c
changeset 2327 8ecc28068748
parent 2326 54b4272de463
child 2346 7921c8d671c8
equal deleted inserted replaced
2326:54b4272de463 2327:8ecc28068748
   619   }
   619   }
   620 
   620 
   621   if (jidres[0] == '.' &&
   621   if (jidres[0] == '.' &&
   622       (jidres[1] == '\0' || jidres[1] == JID_RESOURCE_SEPARATOR)) {
   622       (jidres[1] == '\0' || jidres[1] == JID_RESOURCE_SEPARATOR)) {
   623     //Special jid: . or ./resource
   623     //Special jid: . or ./resource
   624     switch (jidres[1]) {
   624     if (current_buddy)
   625       case JID_RESOURCE_SEPARATOR:
   625       bud = BUDDATA(current_buddy);
   626         resource = jidres+2;
   626     if (jidres[1] == JID_RESOURCE_SEPARATOR)
   627       case '\0':
   627       resource = jidres+2;
   628         if (current_buddy)
       
   629           bud = BUDDATA(current_buddy);
       
   630     }
       
   631   } else {
   628   } else {
   632     char *tmp;
   629     char *tmp;
   633     if (!check_jid_syntax(jidres) &&
   630     if (!check_jid_syntax(jidres) &&
   634         (tmp = strchr(jidres, JID_RESOURCE_SEPARATOR))) {
   631         (tmp = strchr(jidres, JID_RESOURCE_SEPARATOR))) {
   635       //Any other valid full jid
   632       //Any other valid full jid
  3605               if (!roster_find(bjid, jidsearch, ROSTER_TYPE_ROOM))
  3602               if (!roster_find(bjid, jidsearch, ROSTER_TYPE_ROOM))
  3606                 *tmp = '\0';
  3603                 *tmp = '\0';
  3607               g_free(bjid);
  3604               g_free(bjid);
  3608             }
  3605             }
  3609           }
  3606           }
       
  3607           /* FALLTHRU */
  3610       case iqreq_version:
  3608       case iqreq_version:
  3611       case iqreq_time:
  3609       case iqreq_time:
  3612       case iqreq_last:
  3610       case iqreq_last:
  3613       case iqreq_ping:
  3611       case iqreq_ping:
  3614           xmpp_request(fjid, numtype);
  3612           xmpp_request(fjid, numtype);