/soc/2015/jgeboski/facebook: 56c954d1a430: facebook: removed wei...

James Geboski <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 56c954d1a4306989a6af207d700ee3d8fe444c69
Author:	 James Geboski <[email protected]>
Date:	 2015-08-24 19:29 -0400
Branch:	 facebook
URL: https://hg.pidgin.im/soc/2015/jgeboski/facebook/rev/56c954d1a430

Description:

facebook: removed weird usage of g_slist_copy_deep()

diffstat:

 libpurple/glibcompat.h             |  19 -------------------
 libpurple/protocols/facebook/api.c |  13 ++++++++++---
 2 files changed, 10 insertions(+), 22 deletions(-)

diffs (67 lines):

diff --git a/libpurple/glibcompat.h b/libpurple/glibcompat.h
--- a/libpurple/glibcompat.h
+++ b/libpurple/glibcompat.h
@@ -61,23 +61,6 @@ static inline gboolean g_close(gint fd, 
 	return FALSE;
 }
 
-#if !GLIB_CHECK_VERSION(2, 34, 0)
-
-static inline GSList * g_slist_copy_deep(GSList *list, GCopyFunc func,
-	gpointer data)
-{
-	GSList *ret = NULL;
-	GSList *l;
-
-	if (G_UNLIKELY(func == NULL))
-		return g_slist_copy(list);
-
-	for (l = list; l != NULL; l = l->next)
-		ret = g_slist_prepend(ret, func(l->data, data));
-
-	return g_slist_reverse(ret);
-}
-
 #if !GLIB_CHECK_VERSION(2, 32, 0)
 
 #include <glib-object.h>
@@ -209,8 +192,6 @@ static inline GError * g_error_new_valis
 
 #endif /* < 2.32.0 */
 
-#endif /* < 2.34.0 */
-
 #endif /* < 2.36.0 */
 
 
diff --git a/libpurple/protocols/facebook/api.c b/libpurple/protocols/facebook/api.c
--- a/libpurple/protocols/facebook/api.c
+++ b/libpurple/protocols/facebook/api.c
@@ -2943,6 +2943,8 @@ FbApiThread *
 fb_api_thread_dup(const FbApiThread *thrd, gboolean deep)
 {
 	FbApiThread *ret;
+	FbApiUser *user;
+	GSList *l;
 
 	if (thrd == NULL) {
 		return g_new0(FbApiThread, 1);
@@ -2951,10 +2953,15 @@ fb_api_thread_dup(const FbApiThread *thr
 	ret = g_memdup(thrd, sizeof *thrd);
 
 	if (deep) {
+		ret->users = NULL;
+
+		for (l = thrd->users; l != NULL; l = l->next) {
+			user = fb_api_user_dup(l->data, TRUE);
+			ret->users = g_slist_prepend(ret->users, user);
+		}
+
 		ret->topic = g_strdup(thrd->topic);
-		ret->users = g_slist_copy_deep(thrd->users,
-		                               (GCopyFunc) fb_api_user_dup,
-		                               GINT_TO_POINTER(deep));
+		ret->users = g_slist_reverse(ret->users);
 	}
 
 	return ret;

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.