src/protocols/silc/buddy.c

changeset 12970
c2f3b4dcf711
parent 12948
0867a553ed26
--- a/src/protocols/silc/buddy.c	Fri Jan 20 17:24:54 2006 +0000
+++ b/src/protocols/silc/buddy.c	Fri Jan 20 20:35:18 2006 +0000
@@ -1509,7 +1509,7 @@
 	return NULL;
 }
 
-char *silcgaim_tooltip_text(GaimBuddy *b, gboolean full)
+void silcgaim_tooltip_text(GaimBuddy *b, GString *str, gboolean full)
 {
 	SilcGaim sg = b->account->gc->proto_data;
 	SilcClient client = sg->client;
@@ -1517,72 +1517,65 @@
 	SilcClientID *client_id = b->proto_data;
 	SilcClientEntry client_entry;
 	char *moodstr, *statusstr, *contactstr, *langstr, *devicestr, *tzstr, *geostr;
-	GString *s;
-	char *buf;
 	char tmp[256];
 
-	s = g_string_new("");
-
 	/* Get the client entry. */
 	client_entry = silc_client_get_client_by_id(client, conn, client_id);
 	if (!client_entry)
-	  return NULL;
+	  return;
 
 	if (client_entry->nickname)
-	  g_string_append_printf(s, "\n<b>%s:</b> %s", _("Nickname"),
+	  g_string_append_printf(str, "\n<b>%s:</b> %s", _("Nickname"),
 				 client_entry->nickname);
 	if (client_entry->username && client_entry->hostname)
-	  g_string_append_printf(s, "\n<b>%s:</b> %s@%s", _("Username"),
+	  g_string_append_printf(str, "\n<b>%s:</b> %s@%s", _("Username"),
 				 client_entry->username, client_entry->hostname);
 	if (client_entry->mode) {
-	  g_string_append_printf(s, "\n<b>%s:</b> ", _("User Modes"));
+	  g_string_append_printf(str, "\n<b>%s:</b> ", _("User Modes"));
 	  memset(tmp, 0, sizeof(tmp));
 	  silcgaim_get_umode_string(client_entry->mode,
 				    tmp, sizeof(tmp) - strlen(tmp));
-	  g_string_append_printf(s, "%s", tmp);
+	  g_string_append_printf(str, "%s", tmp);
 	}
 
 	silcgaim_parse_attrs(client_entry->attrs, &moodstr, &statusstr, &contactstr, &langstr, &devicestr, &tzstr, &geostr);
 
 	if (statusstr) {
-		g_string_append_printf(s, "\n<b>%s:</b> %s", _("Message"), statusstr);
+		g_string_append_printf(str, "\n<b>%s:</b> %s", _("Message"), statusstr);
 		g_free(statusstr);
 	}
 
 	if (full) {
 		if (moodstr) {
-			g_string_append_printf(s, "\n<b>%s:</b> %s", _("Mood"), moodstr);
+			g_string_append_printf(str, "\n<b>%s:</b> %s", _("Mood"), moodstr);
 			g_free(moodstr);
 		}
 
 		if (contactstr) {
-			g_string_append_printf(s, "\n<b>%s:</b> %s", _("Preferred Contact"), contactstr);
+			g_string_append_printf(str, "\n<b>%s:</b> %s", _("Preferred Contact"), contactstr);
 			g_free(contactstr);
 		}
 
 		if (langstr) {
-			g_string_append_printf(s, "\n<b>%s:</b> %s", _("Preferred Language"), langstr);
+			g_string_append_printf(str, "\n<b>%s:</b> %s", _("Preferred Language"), langstr);
 			g_free(langstr);
 		}
 
 		if (devicestr) {
-			g_string_append_printf(s, "\n<b>%s:</b> %s", _("Device"), devicestr);
+			g_string_append_printf(str, "\n<b>%s:</b> %s", _("Device"), devicestr);
 			g_free(devicestr);
 		}
 
 		if (tzstr) {
-			g_string_append_printf(s, "\n<b>%s:</b> %s", _("Timezone"), tzstr);
+			g_string_append_printf(str, "\n<b>%s:</b> %s", _("Timezone"), tzstr);
 			g_free(tzstr);
 		}
 
 		if (geostr) {
-			g_string_append_printf(s, "\n<b>%s:</b> %s", _("Geolocation"), geostr);
+			g_string_append_printf(str, "\n<b>%s:</b> %s", _("Geolocation"), geostr);
 			g_free(geostr);
 		}
 	}
-
-	buf = g_string_free(s, FALSE);
-	return buf;
 }
 
 static void

mercurial