gg: Fix -Waggregate-return warning for function returning a struct

Mon, 05 Nov 2018 17:01:29 -0600

author
Mike Ruprecht <cmaiku@gmail.com>
date
Mon, 05 Nov 2018 17:01:29 -0600
changeset 39276
89f307c3aa27
parent 39275
bcd198e3a830
child 39277
68c17ba18f33

gg: Fix -Waggregate-return warning for function returning a struct

libpurple/protocols/gg/multilogon.c file | annotate | diff | comparison | revisions
--- a/libpurple/protocols/gg/multilogon.c	Mon Nov 05 17:00:47 2018 -0600
+++ b/libpurple/protocols/gg/multilogon.c	Mon Nov 05 17:01:29 2018 -0600
@@ -116,14 +116,12 @@
 	return sid;
 }
 
-static gg_multilogon_id_t
-ggp_multilogon_sid_to_libgadu(uint64_t sid)
+static void
+ggp_multilogon_sid_to_libgadu(uint64_t sid, gg_multilogon_id_t *lsid)
 {
-	gg_multilogon_id_t lsid;
+	g_return_if_fail(lsid != NULL);
 
-	memcpy(lsid.id, &sid, sizeof(uint64_t));
-
-	return lsid;
+	memcpy(lsid->id, &sid, sizeof(uint64_t));
 }
 
 static void
@@ -190,12 +188,13 @@
 	GGPInfo *accdata = purple_connection_get_protocol_data(gc);
 	uint64_t sid;
 	gpointer key;
+	gg_multilogon_id_t lsid;
 
 	key = purple_request_datasheet_record_get_key(rec);
 	sid = ggp_keymapper_from_key(mldata->sid_mapper, key);
 
-	gg_multilogon_disconnect(accdata->session,
-		ggp_multilogon_sid_to_libgadu(sid));
+	ggp_multilogon_sid_to_libgadu(sid, &lsid);
+	gg_multilogon_disconnect(accdata->session, lsid);
 
 	purple_request_datasheet_record_remove(
 		purple_request_datasheet_record_get_datasheet(rec), key);

mercurial