diff options
author | qarkai <qarkai@gmail.com> | 2019-10-18 23:30:32 +0300 |
---|---|---|
committer | qarkai <qarkai@gmail.com> | 2019-10-18 23:30:32 +0300 |
commit | c12f195ceeaca408bb1e77953fa87e34d431abfe (patch) | |
tree | 68683cd985a8536423edb85c2aee4fdb0ca7a5dc | |
parent | f210b5f342bd1af8b92fdf79f3675e895f50ef34 (diff) | |
download | pidgin-c12f195ceeaca408bb1e77953fa87e34d431abfe.tar.gz |
Use g_list_free_full instead of manual iterations
-rw-r--r-- | libpurple/cmds.c | 5 | ||||
-rw-r--r-- | libpurple/media.c | 12 | ||||
-rw-r--r-- | libpurple/media/backend-fs2.c | 15 | ||||
-rw-r--r-- | libpurple/media/candidate.c | 5 | ||||
-rw-r--r-- | libpurple/media/codec.c | 5 | ||||
-rw-r--r-- | libpurple/mediamanager.c | 15 | ||||
-rw-r--r-- | libpurple/protocol.c | 15 | ||||
-rw-r--r-- | libpurple/protocols/jabber/buddy.c | 6 | ||||
-rw-r--r-- | libpurple/protocols/jabber/caps.c | 10 | ||||
-rw-r--r-- | libpurple/protocols/jabber/disco.c | 5 | ||||
-rw-r--r-- | libpurple/protocols/jabber/jabber.c | 11 | ||||
-rw-r--r-- | libpurple/protocols/jabber/jingle/jingle.c | 3 | ||||
-rw-r--r-- | libpurple/protocols/jabber/jingle/session.c | 10 | ||||
-rw-r--r-- | libpurple/protocols/jabber/xdata.c | 6 | ||||
-rw-r--r-- | libpurple/savedstatuses.c | 14 | ||||
-rw-r--r-- | pidgin/gtkconv.c | 8 | ||||
-rw-r--r-- | pidgin/gtkdialogs.c | 5 | ||||
-rw-r--r-- | pidgin/gtkplugin.c | 6 | ||||
-rw-r--r-- | pidgin/gtkutils.c | 6 |
19 files changed, 31 insertions, 131 deletions
diff --git a/libpurple/cmds.c b/libpurple/cmds.c index 8f4d2ebfd3..7d3533733c 100644 --- a/libpurple/cmds.c +++ b/libpurple/cmds.c @@ -447,9 +447,6 @@ void purple_cmds_uninit(void) { purple_signals_unregister_by_instance(purple_cmds_get_handle()); - while (cmds) { - purple_cmd_free(cmds->data); - cmds = g_list_delete_link(cmds, cmds); - } + g_list_free_full(cmds, (GDestroyNotify)purple_cmd_free); } diff --git a/libpurple/media.c b/libpurple/media.c index 8fdd5f9315..a8b911fb75 100644 --- a/libpurple/media.c +++ b/libpurple/media.c @@ -299,18 +299,12 @@ purple_media_finalize(GObject *media) purple_media_get_instance_private(PURPLE_MEDIA(media)); purple_debug_info("media","purple_media_finalize\n"); - for (; priv->streams; priv->streams = g_list_delete_link(priv->streams, priv->streams)) - purple_media_stream_free(priv->streams->data); - - for (; priv->participants; priv->participants = g_list_delete_link( - priv->participants, priv->participants)) - g_free(priv->participants->data); + g_list_free_full(priv->streams, (GDestroyNotify)purple_media_stream_free); + g_list_free_full(priv->participants, g_free); if (priv->sessions) { GList *sessions = g_hash_table_get_values(priv->sessions); - for (; sessions; sessions = g_list_delete_link(sessions, sessions)) { - purple_media_session_free(sessions->data); - } + g_list_free_full(sessions, (GDestroyNotify)purple_media_session_free); g_hash_table_destroy(priv->sessions); } diff --git a/libpurple/media/backend-fs2.c b/libpurple/media/backend-fs2.c index 8e28b42213..560a634d4a 100644 --- a/libpurple/media/backend-fs2.c +++ b/libpurple/media/backend-fs2.c @@ -394,23 +394,12 @@ purple_media_backend_fs2_finalize(GObject *obj) purple_debug_info("backend-fs2", "purple_media_backend_fs2_finalize\n"); g_free(priv->conference_type); - - for (; priv->streams; priv->streams = - g_list_delete_link(priv->streams, priv->streams)) { - PurpleMediaBackendFs2Stream *stream = priv->streams->data; - free_stream(stream); - } + g_list_free_full(priv->streams, (GDestroyNotify)free_stream); if (priv->sessions) { GList *sessions = g_hash_table_get_values(priv->sessions); - for (; sessions; sessions = - g_list_delete_link(sessions, sessions)) { - PurpleMediaBackendFs2Session *session = - sessions->data; - free_session(session); - } - + g_list_free_full(sessions, (GDestroyNotify)free_session); g_hash_table_destroy(priv->sessions); } diff --git a/libpurple/media/candidate.c b/libpurple/media/candidate.c index 9b382589ad..a9e34a91e8 100644 --- a/libpurple/media/candidate.c +++ b/libpurple/media/candidate.c @@ -366,10 +366,7 @@ purple_media_candidate_list_copy(GList *candidates) void purple_media_candidate_list_free(GList *candidates) { - for (; candidates; candidates = - g_list_delete_link(candidates, candidates)) { - g_object_unref(candidates->data); - } + g_list_free_full(candidates, g_object_unref); } gchar * diff --git a/libpurple/media/codec.c b/libpurple/media/codec.c index f02c5b97d9..aa924fb99d 100644 --- a/libpurple/media/codec.c +++ b/libpurple/media/codec.c @@ -369,10 +369,7 @@ purple_media_codec_list_copy(GList *codecs) void purple_media_codec_list_free(GList *codecs) { - for (; codecs; codecs = - g_list_delete_link(codecs, codecs)) { - g_object_unref(codecs->data); - } + g_list_free_full(codecs, g_object_unref); } gchar * diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c index 11163649b9..c316d03943 100644 --- a/libpurple/mediamanager.c +++ b/libpurple/mediamanager.c @@ -233,18 +233,9 @@ purple_media_manager_finalize (GObject *media) purple_media_manager_get_instance_private( PURPLE_MEDIA_MANAGER(media)); - for (; priv->medias; priv->medias = - g_list_delete_link(priv->medias, priv->medias)) { - g_object_unref(priv->medias->data); - } - for (; priv->private_medias; priv->private_medias = - g_list_delete_link(priv->private_medias, priv->private_medias)) { - g_object_unref(priv->private_medias->data); - } - for (; priv->elements; priv->elements = - g_list_delete_link(priv->elements, priv->elements)) { - g_object_unref(priv->elements->data); - } + g_list_free_full(priv->medias, g_object_unref); + g_list_free_full(priv->private_medias, g_object_unref); + g_list_free_full(priv->elements, g_object_unref); if (priv->video_caps) gst_caps_unref(priv->video_caps); #ifdef HAVE_MEDIA_APPLICATION diff --git a/libpurple/protocol.c b/libpurple/protocol.c index 3e53e5ba7b..ee8805d321 100644 --- a/libpurple/protocol.c +++ b/libpurple/protocol.c @@ -88,12 +88,7 @@ user_splits_free(PurpleProtocol *protocol) { g_return_if_fail(PURPLE_IS_PROTOCOL(protocol)); - while (protocol->user_splits) { - PurpleAccountUserSplit *split = protocol->user_splits->data; - purple_account_user_split_destroy(split); - protocol->user_splits = g_list_delete_link(protocol->user_splits, - protocol->user_splits); - } + g_list_free_full(protocol->user_splits, (GDestroyNotify)purple_account_user_split_destroy); } static void @@ -101,13 +96,7 @@ account_options_free(PurpleProtocol *protocol) { g_return_if_fail(PURPLE_IS_PROTOCOL(protocol)); - while (protocol->account_options) { - PurpleAccountOption *option = protocol->account_options->data; - purple_account_option_destroy(option); - protocol->account_options = - g_list_delete_link(protocol->account_options, - protocol->account_options); - } + g_list_free_full(protocol->account_options, (GDestroyNotify)purple_account_option_destroy); } static void diff --git a/libpurple/protocols/jabber/buddy.c b/libpurple/protocols/jabber/buddy.c index 10d04c7251..e509976b7f 100644 --- a/libpurple/protocols/jabber/buddy.c +++ b/libpurple/protocols/jabber/buddy.c @@ -74,11 +74,7 @@ jabber_buddy_resource_free(JabberBuddyResource *jbr) jbr->commands = g_list_delete_link(jbr->commands, jbr->commands); } - while (jbr->caps.exts) { - g_free(jbr->caps.exts->data); - jbr->caps.exts = g_list_delete_link(jbr->caps.exts, jbr->caps.exts); - } - + g_list_free_full(jbr->caps.exts, g_free); g_free(jbr->name); g_free(jbr->status); g_free(jbr->thread_id); diff --git a/libpurple/protocols/jabber/caps.c b/libpurple/protocols/jabber/caps.c index 74866d1550..96b1ba3342 100644 --- a/libpurple/protocols/jabber/caps.c +++ b/libpurple/protocols/jabber/caps.c @@ -45,10 +45,7 @@ static guint save_timer = 0; static void free_string_glist(GList *list) { - while (list) { - g_free(list->data); - list = g_list_delete_link(list, list); - } + g_list_free_full(list, g_free); } static JabberCapsNodeExts* @@ -115,10 +112,7 @@ jabber_caps_client_info_destroy(JabberCapsClientInfo *info) free_string_glist(info->features); - while (info->forms) { - purple_xmlnode_free(info->forms->data); - info->forms = g_list_delete_link(info->forms, info->forms); - } + g_list_free_full(info->forms, (GDestroyNotify)purple_xmlnode_free); jabber_caps_node_exts_unref(info->exts); diff --git a/libpurple/protocols/jabber/disco.c b/libpurple/protocols/jabber/disco.c index a0a7fb2c35..261979c004 100644 --- a/libpurple/protocols/jabber/disco.c +++ b/libpurple/protocols/jabber/disco.c @@ -564,10 +564,7 @@ jabber_disco_server_items_result_cb(JabberStream *js, const char *from, if (type == JABBER_IQ_ERROR) return; - while(js->chat_servers) { - g_free(js->chat_servers->data); - js->chat_servers = g_list_delete_link(js->chat_servers, js->chat_servers); - } + g_list_free_full(js->chat_servers, g_free); query = purple_xmlnode_get_child(packet, "query"); diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c index 98cdd952e9..2c391b0200 100644 --- a/libpurple/protocols/jabber/jabber.c +++ b/libpurple/protocols/jabber/jabber.c @@ -1673,15 +1673,8 @@ void jabber_close(PurpleConnection *gc) if(js->chats) g_hash_table_destroy(js->chats); - while(js->chat_servers) { - g_free(js->chat_servers->data); - js->chat_servers = g_list_delete_link(js->chat_servers, js->chat_servers); - } - - while(js->user_directories) { - g_free(js->user_directories->data); - js->user_directories = g_list_delete_link(js->user_directories, js->user_directories); - } + g_list_free_full(js->chat_servers, g_free); + g_list_free_full(js->user_directories, g_free); while(js->bs_proxies) { JabberBytestreamsStreamhost *sh = js->bs_proxies->data; diff --git a/libpurple/protocols/jabber/jingle/jingle.c b/libpurple/protocols/jabber/jingle/jingle.c index ce9d0b0cd9..7dfdfcf34e 100644 --- a/libpurple/protocols/jabber/jingle/jingle.c +++ b/libpurple/protocols/jabber/jingle/jingle.c @@ -426,8 +426,7 @@ jingle_terminate_sessions(JabberStream *js) { if (js->sessions) { GList *list = g_hash_table_get_values(js->sessions); - for (; list; list = g_list_delete_link(list, list)) - g_object_unref(list->data); + g_list_free_full(list, g_object_unref); } } diff --git a/libpurple/protocols/jabber/jingle/session.c b/libpurple/protocols/jabber/jingle/session.c index 2e86d39008..893a8314e7 100644 --- a/libpurple/protocols/jabber/jingle/session.c +++ b/libpurple/protocols/jabber/jingle/session.c @@ -238,14 +238,8 @@ jingle_session_finalize (GObject *session) g_free(priv->remote_jid); g_free(priv->local_jid); - for (; priv->contents; priv->contents = - g_list_delete_link(priv->contents, priv->contents)) { - g_object_unref(priv->contents->data); - } - for (; priv->pending_contents; priv->pending_contents = - g_list_delete_link(priv->pending_contents, priv->pending_contents)) { - g_object_unref(priv->pending_contents->data); - } + g_list_free_full(priv->contents, g_object_unref); + g_list_free_full(priv->pending_contents, g_object_unref); G_OBJECT_CLASS(jingle_session_parent_class)->finalize(session); } diff --git a/libpurple/protocols/jabber/xdata.c b/libpurple/protocols/jabber/xdata.c index 543b4e6ceb..962b67c319 100644 --- a/libpurple/protocols/jabber/xdata.c +++ b/libpurple/protocols/jabber/xdata.c @@ -291,11 +291,7 @@ void *jabber_x_data_request_with_actions(JabberStream *js, PurpleXmlNode *packet } purple_request_field_group_add_field(group, field); - while(selected) { - g_free(selected->data); - selected = g_list_delete_link(selected, selected); - } - + g_list_free_full(selected, g_free); } else if(purple_strequal(type, "boolean")) { gboolean def = FALSE; diff --git a/libpurple/savedstatuses.c b/libpurple/savedstatuses.c index acfd59b2d2..3df018c2c1 100644 --- a/libpurple/savedstatuses.c +++ b/libpurple/savedstatuses.c @@ -117,13 +117,7 @@ free_saved_status(PurpleSavedStatus *status) g_free(status->title); g_free(status->message); - - while (status->substatuses != NULL) - { - PurpleSavedStatusSub *substatus = status->substatuses->data; - status->substatuses = g_list_remove(status->substatuses, substatus); - free_saved_status_sub(substatus); - } + g_list_free_full(status->substatuses, (GDestroyNotify)free_saved_status_sub); purple_request_close_with_handle(status); g_free(status); } @@ -1251,11 +1245,7 @@ purple_savedstatuses_uninit(void) sync_statuses(); } - while (saved_statuses != NULL) { - PurpleSavedStatus *saved_status = saved_statuses->data; - saved_statuses = g_list_remove(saved_statuses, saved_status); - free_saved_status(saved_status); - } + g_list_free_full(saved_statuses, (GDestroyNotify)free_saved_status); g_hash_table_destroy(creation_times); creation_times = NULL; diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c index 21ef2d5b38..c15098ee39 100644 --- a/pidgin/gtkconv.c +++ b/pidgin/gtkconv.c @@ -2900,12 +2900,8 @@ regenerate_options_items(PidginConvWindow *win) menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(more_menu)); /* Remove the previous entries */ - for (list = gtk_container_get_children(GTK_CONTAINER(menu)); list; ) - { - GtkWidget *w = list->data; - list = g_list_delete_link(list, list); - gtk_widget_destroy(w); - } + list = gtk_container_get_children(GTK_CONTAINER(menu)); + g_list_free_full(list, (GDestroyNotify)gtk_widget_destroy); if (!populate_menu_with_options(menu, gtkconv, FALSE)) { diff --git a/pidgin/gtkdialogs.c b/pidgin/gtkdialogs.c index e4442e923f..50f76bceb3 100644 --- a/pidgin/gtkdialogs.c +++ b/pidgin/gtkdialogs.c @@ -58,10 +58,7 @@ struct _PidginGroupMergeObject { void pidgin_dialogs_destroy_all() { - while (dialogwindows) { - gtk_widget_destroy(dialogwindows->data); - dialogwindows = g_list_remove(dialogwindows, dialogwindows->data); - } + g_list_free_full(dialogwindows, (GDestroyNotify)gtk_widget_destroy); } static void destroy_win(GtkWidget *button, GtkWidget *win) diff --git a/pidgin/gtkplugin.c b/pidgin/gtkplugin.c index 53ae976e51..9c2f804dff 100644 --- a/pidgin/gtkplugin.c +++ b/pidgin/gtkplugin.c @@ -759,7 +759,7 @@ static void plugin_dialog_response_cb(GtkWidget *d, int response, GtkTreeSelecti GtkTreeModel *model; GValue val; GtkTreeIter iter; - GList *list, *it; + GList *list; g_return_if_fail(d != NULL); @@ -769,9 +769,7 @@ static void plugin_dialog_response_cb(GtkWidget *d, int response, GtkTreeSelecti purple_request_close_with_handle(plugin_dialog); purple_signals_disconnect_by_handle(plugin_dialog); list = purple_plugins_find_all(); - for (it = list; it; it = g_list_next(it)) - pref_dialog_close(it->data); - g_list_free(list); + g_list_free_full(list, (GDestroyNotify)pref_dialog_close); gtk_widget_destroy(d); plugin_dialog = NULL; break; diff --git a/pidgin/gtkutils.c b/pidgin/gtkutils.c index 529ff29684..bfcb6a9e32 100644 --- a/pidgin/gtkutils.c +++ b/pidgin/gtkutils.c @@ -2228,11 +2228,7 @@ static void old_mini_dialog_destroy_cb(GtkWidget *dialog, GList *cb_datas) { - while (cb_datas != NULL) - { - g_free(cb_datas->data); - cb_datas = g_list_delete_link(cb_datas, cb_datas); - } + g_list_free_full(cb_datas, g_free); } static void |