diff mcabber/mcabber/xmpp_iqrequest.c @ 2346:7921c8d671c8

Implemented another helper function jid_get_resource_name
author franky
date Tue, 14 May 2019 22:19:33 +0200
parents 4f3821bda633
children
line wrap: on
line diff
--- a/mcabber/mcabber/xmpp_iqrequest.c	Sat May 11 23:06:34 2019 +0200
+++ b/mcabber/mcabber/xmpp_iqrequest.c	Tue May 14 22:19:33 2019 +0200
@@ -233,7 +233,8 @@
 {
   LmMessageNode *ansqry;
   const char *p, *bjid;
-  char *buf, *tmp;
+  char *bare_jid;
+  char *buf;
 
   // Check IQ result sender
   bjid = lm_message_get_from(m);
@@ -262,34 +263,34 @@
   scr_LogPrint(LPRINT_LOGNORM, "%s", buf);
 
   // bjid should now really be the "bare JID", let's strip the resource
-  tmp = strchr(bjid, JID_RESOURCE_SEPARATOR);
-  if (tmp) *tmp = '\0';
+  bare_jid = jidtodisp(bjid);
 
-  scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0);
+  scr_WriteIncomingMessage(bare_jid, buf, 0, HBB_PREFIX_INFO, 0);
   g_free(buf);
 
   // Get result data...
   p = lm_message_node_get_child_value(ansqry, "name");
   if (p && *p) {
     buf = g_strdup_printf("Name:    %s", p);
-    scr_WriteIncomingMessage(bjid, buf,
+    scr_WriteIncomingMessage(bare_jid, buf,
                              0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
     g_free(buf);
   }
   p = lm_message_node_get_child_value(ansqry, "version");
   if (p && *p) {
     buf = g_strdup_printf("Version: %s", p);
-    scr_WriteIncomingMessage(bjid, buf,
+    scr_WriteIncomingMessage(bare_jid, buf,
                              0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
     g_free(buf);
   }
   p = lm_message_node_get_child_value(ansqry, "os");
   if (p && *p) {
     buf = g_strdup_printf("OS:      %s", p);
-    scr_WriteIncomingMessage(bjid, buf,
+    scr_WriteIncomingMessage(bare_jid, buf,
                              0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
     g_free(buf);
   }
+  g_free(bare_jid);
   return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
@@ -298,7 +299,8 @@
 {
   LmMessageNode *ansqry;
   const char *p, *bjid;
-  char *buf, *tmp;
+  char *bare_jid;
+  char *buf;
 
   // Check IQ result sender
   bjid = lm_message_get_from(m);
@@ -327,34 +329,34 @@
   scr_LogPrint(LPRINT_LOGNORM, "%s", buf);
 
   // bjid should now really be the "bare JID", let's strip the resource
-  tmp = strchr(bjid, JID_RESOURCE_SEPARATOR);
-  if (tmp) *tmp = '\0';
+  bare_jid = jidtodisp(bjid);
 
-  scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0);
+  scr_WriteIncomingMessage(bare_jid, buf, 0, HBB_PREFIX_INFO, 0);
   g_free(buf);
 
   // Get result data...
   p = lm_message_node_get_child_value(ansqry, "utc");
   if (p && *p) {
     buf = g_strdup_printf("UTC:  %s", p);
-    scr_WriteIncomingMessage(bjid, buf,
+    scr_WriteIncomingMessage(bare_jid, buf,
                              0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
     g_free(buf);
   }
   p = lm_message_node_get_child_value(ansqry, "tzo");
   if (p && *p) {
     buf = g_strdup_printf("TZ:   %s", p);
-    scr_WriteIncomingMessage(bjid, buf,
+    scr_WriteIncomingMessage(bare_jid, buf,
                              0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
     g_free(buf);
   }
   p = lm_message_node_get_child_value(ansqry, "display");
   if (p && *p) {
     buf = g_strdup_printf("Time: %s", p);
-    scr_WriteIncomingMessage(bjid, buf,
+    scr_WriteIncomingMessage(bare_jid, buf,
                              0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
     g_free(buf);
   }
+  g_free(bare_jid);
   return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
@@ -363,7 +365,8 @@
 {
   LmMessageNode *ansqry;
   const char *p, *bjid;
-  char *buf, *tmp;
+  char *bare_jid;
+  char *buf;
 
   // Check IQ result sender
   bjid = lm_message_get_from(m);
@@ -392,10 +395,9 @@
   scr_LogPrint(LPRINT_LOGNORM, "%s", buf);
 
   // bjid should now really be the "bare JID", let's strip the resource
-  tmp = strchr(bjid, JID_RESOURCE_SEPARATOR);
-  if (tmp) *tmp = '\0';
+  bare_jid = jidtodisp(bjid);
 
-  scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0);
+  scr_WriteIncomingMessage(bare_jid, buf, 0, HBB_PREFIX_INFO, 0);
   g_free(buf);
 
   // Get result data...
@@ -414,19 +416,20 @@
     g_string_append_printf(sbuf, "%02ld:", s/3600L);
     s %= 3600L;
     g_string_append_printf(sbuf, "%02ld:%02ld", s/60L, s%60L);
-    scr_WriteIncomingMessage(bjid, sbuf->str,
+    scr_WriteIncomingMessage(bare_jid, sbuf->str,
                              0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
     g_string_free(sbuf, TRUE);
   } else {
-    scr_WriteIncomingMessage(bjid, "No idle time reported.",
+    scr_WriteIncomingMessage(bare_jid, "No idle time reported.",
                              0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
   }
   p = lm_message_node_get_value(ansqry);
   if (p) {
     buf = g_strdup_printf("Status message: %s", p);
-    scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0);
+    scr_WriteIncomingMessage(bare_jid, buf, 0, HBB_PREFIX_INFO, 0);
     g_free(buf);
   }
+  g_free(bare_jid);
   return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }
 
@@ -546,7 +549,8 @@
 {
   LmMessageNode *ansqry;
   const char *bjid;
-  char *buf, *tmp;
+  char *bare_jid;
+  char *buf;
 
   // Check IQ result sender
   bjid = lm_message_get_from(m);
@@ -576,14 +580,14 @@
   }
 
   // bjid should really be the "bare JID", let's strip the resource
-  tmp = strchr(bjid, JID_RESOURCE_SEPARATOR);
-  if (tmp) *tmp = '\0';
+  bare_jid = jidtodisp(bjid);
 
-  scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO, 0);
+  scr_WriteIncomingMessage(bare_jid, buf, 0, HBB_PREFIX_INFO, 0);
   g_free(buf);
 
   // Get result data...
-  handle_vcard_node(bjid, ansqry);
+  handle_vcard_node(bare_jid, ansqry);
+  g_free(bare_jid);
   return LM_HANDLER_RESULT_REMOVE_MESSAGE;
 }