diff options
author | Juan A. Suarez Romero <jasuarez@igalia.com> | 2014-03-06 17:28:08 +0000 |
---|---|---|
committer | Juan A. Suarez Romero <jasuarez@igalia.com> | 2014-03-06 18:31:32 +0100 |
commit | 806a8598c34d5b408eeebd3b699d50a03bd5c105 (patch) | |
tree | b27efc3e695ee6c86189939defcfb547a459df13 | |
parent | 0d380b7e10b84740a54ec108df61fc4c62b43e0f (diff) | |
download | grilo-806a8598c34d5b408eeebd3b699d50a03bd5c105.tar.gz |
core: Use g_clear_pointer/object when possible
Reduces the number of lines and makes the code more readable.
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | libs/net/grl-net-mock.c | 37 | ||||
-rw-r--r-- | libs/net/grl-net-wc.c | 10 | ||||
-rw-r--r-- | libs/pls/grl-pls.c | 32 | ||||
-rw-r--r-- | src/grl-caps.c | 8 | ||||
-rw-r--r-- | src/grl-plugin.c | 9 | ||||
-rw-r--r-- | src/grl-range-value.c | 9 | ||||
-rw-r--r-- | src/grl-registry.c | 31 | ||||
-rw-r--r-- | src/grl-source.c | 13 | ||||
-rw-r--r-- | tools/grilo-test-ui/main.c | 63 |
10 files changed, 58 insertions, 156 deletions
diff --git a/configure.ac b/configure.ac index 59684f0..7abbcec 100644 --- a/configure.ac +++ b/configure.ac @@ -123,7 +123,7 @@ AC_DEFINE_UNQUOTED(GRL_PLUGINS_DIR, "$GRL_PLUGINS_DIR", [Plugins directory]) # DEPENDENCIES # ---------------------------------------------------------- -PKG_CHECK_MODULES(DEPS, glib-2.0 >= 2.32 \ +PKG_CHECK_MODULES(DEPS, glib-2.0 >= 2.34 \ gobject-2.0 \ gmodule-2.0 \ gio-2.0 \ diff --git a/libs/net/grl-net-mock.c b/libs/net/grl-net-mock.c index 6544687..ce9c367 100644 --- a/libs/net/grl-net-mock.c +++ b/libs/net/grl-net-mock.c @@ -119,16 +119,13 @@ get_url_mocked (GrlNetWc *self, g_simple_async_result_complete_in_idle (G_SIMPLE_ASYNC_RESULT (result)); g_object_unref (result); g_free (new_url); - if (data_file) - g_free (data_file); - if (full_path) - g_free (full_path); + g_clear_pointer (&data_file, g_free); + g_clear_pointer (&full_path, g_free); + return; } - if (data_file) - g_free (data_file); - if (full_path) - g_free (full_path); + g_clear_pointer (&data_file, g_free); + g_clear_pointer (&full_path, g_free); g_simple_async_result_set_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result), new_url, @@ -156,11 +153,8 @@ get_content_mocked (GrlNetWc *self, } g_file_get_contents (full_path, content, length, &error); - if (data_file) - g_free (data_file); - - if (full_path) - g_free (full_path); + g_clear_pointer (&data_file, g_free); + g_clear_pointer (&full_path, g_free); } void init_mock_requester (GrlNetWc *self) @@ -206,8 +200,7 @@ void init_mock_requester (GrlNetWc *self) if (!enable_mocking) { g_free (config_filename); - g_key_file_unref (config); - config = NULL; + g_clear_pointer (&config, g_key_file_unref); return; } @@ -266,17 +259,9 @@ void finalize_mock_requester (GrlNetWc *self) } if (g_atomic_int_dec_and_test (&refcount)) { - if (config) { - g_key_file_unref (config); - } - - if (base_path) { - g_free (base_path); - } - - if (ignored_parameters) { - g_regex_unref (ignored_parameters); - } + g_clear_pointer (&config, g_key_file_unref); + g_clear_pointer (&base_path, g_free); + g_clear_pointer (&ignored_parameters, g_regex_unref); } } diff --git a/libs/net/grl-net-wc.c b/libs/net/grl-net-wc.c index 6ac78c8..e840cc2 100644 --- a/libs/net/grl-net-wc.c +++ b/libs/net/grl-net-wc.c @@ -443,9 +443,7 @@ request_clos_destroy (gpointer data) struct request_clos *c = (struct request_clos *) data; g_free (c->url); - if (c->headers) { - g_hash_table_unref (c->headers); - } + g_clear_pointer (&c->headers, g_hash_table_unref); g_free (c); } @@ -805,8 +803,7 @@ get_content (GrlNetWc *self, GrlNetWcPrivate *priv = self->priv; struct request_res *rr = op; - if (priv->previous_data) - g_free (priv->previous_data); + g_clear_pointer (&priv->previous_data, g_free); if (is_mocked ()) { get_content_mocked (self, op, &(priv->previous_data), length); @@ -922,8 +919,7 @@ void grl_net_wc_request_with_headers_async (GrlNetWc *self, callback, user_data); - if (headers) - g_hash_table_unref (headers); + g_clear_pointer (&headers, g_hash_table_unref); } diff --git a/libs/pls/grl-pls.c b/libs/pls/grl-pls.c index a04f14f..cc4072c 100644 --- a/libs/pls/grl-pls.c +++ b/libs/pls/grl-pls.c @@ -117,36 +117,22 @@ grl_pls_private_free (struct _GrlPlsPrivate *priv) { g_return_if_fail (priv); - if (priv->cancellable) { - g_object_unref (priv->cancellable); - priv->cancellable = NULL; - } - + g_clear_object (&priv->cancellable); g_free (priv); } static void grl_source_browse_spec_free (GrlSourceBrowseSpec *spec) { - if (spec->source) { - g_object_unref (spec->source); - spec->source = NULL; - } - - if (spec->container) { - g_object_unref (spec->container); - spec->container = NULL; - } + g_clear_object (&spec->source); + g_clear_object (&spec->container); if (spec->keys) { /* TODO */ spec->keys = NULL; } - if (spec->options) { - g_object_unref (spec->options); - spec->options = NULL; - } + g_clear_object (&spec->options); if (spec->user_data) { struct _GrlPlsPrivate *priv = (struct _GrlPlsPrivate *) spec->user_data; @@ -1124,12 +1110,10 @@ file_is_valid_content (GFileInfo *info, gboolean fast, GrlOperationOptions *opti } end: - if (file_date) - g_date_time_unref (file_date); - if (min_date) - g_date_time_unref (min_date); - if (max_date) - g_date_time_unref (max_date); + g_clear_pointer (&file_date, g_date_time_unref); + g_clear_pointer (&min_date, g_date_time_unref); + g_clear_pointer (&max_date, g_date_time_unref); + return is_media; } diff --git a/src/grl-caps.c b/src/grl-caps.c index 888cfe6..89d2ea5 100644 --- a/src/grl-caps.c +++ b/src/grl-caps.c @@ -228,9 +228,7 @@ grl_caps_set_key_filter (GrlCaps *caps, GList *keys) { g_return_if_fail (caps); - if (caps->priv->key_filter) { - g_list_free (caps->priv->key_filter); - } + g_clear_pointer (&caps->priv->key_filter, g_list_free); caps->priv->key_filter = g_list_copy (keys); } @@ -287,9 +285,7 @@ grl_caps_set_key_range_filter (GrlCaps *caps, GList *keys) { g_return_if_fail (caps); - if (caps->priv->key_range_filter) { - g_list_free (caps->priv->key_range_filter); - } + g_clear_pointer (&caps->priv->key_range_filter, g_list_free); caps->priv->key_range_filter = g_list_copy (keys); } diff --git a/src/grl-plugin.c b/src/grl-plugin.c index c8634ff..7e92c93 100644 --- a/src/grl-plugin.c +++ b/src/grl-plugin.c @@ -264,9 +264,8 @@ grl_plugin_set_id (GrlPlugin *plugin, { g_return_if_fail (GRL_IS_PLUGIN (plugin)); - if (plugin->priv->id) { - g_free (plugin->priv->id); - } + g_clear_pointer (&plugin->priv->id, g_free); + plugin->priv->id = g_strdup (id); } @@ -283,9 +282,7 @@ grl_plugin_set_filename (GrlPlugin *plugin, { g_return_if_fail (GRL_IS_PLUGIN (plugin)); - if (plugin->priv->filename) { - g_free (plugin->priv->filename); - } + g_clear_pointer (&plugin->priv->filename, g_free); plugin->priv->filename = g_strdup (filename); } diff --git a/src/grl-range-value.c b/src/grl-range-value.c index 34e8a8d..3f9264f 100644 --- a/src/grl-range-value.c +++ b/src/grl-range-value.c @@ -55,13 +55,8 @@ grl_range_value_new (GValue *min, GValue *max) void grl_range_value_free (GrlRangeValue *range) { - if (range->min) { - grl_g_value_free (range->min); - } - - if (range->max) { - grl_g_value_free (range->max); - } + g_clear_pointer (&range->min, grl_g_value_free); + g_clear_pointer (&range->max, grl_g_value_free); g_slice_free (GrlRangeValue, range); } diff --git a/src/grl-registry.c b/src/grl-registry.c index cbbf600..46b366b 100644 --- a/src/grl-registry.c +++ b/src/grl-registry.c @@ -633,8 +633,7 @@ grl_registry_restrict_plugins (GrlRegistry *registry, /* Free previous list */ if (registry->priv->allowed_plugins) { - g_slist_foreach (registry->priv->allowed_plugins, (GFunc) g_free, NULL); - g_slist_free (registry->priv->allowed_plugins); + g_slist_free_full (registry->priv->allowed_plugins, g_free); registry->priv->allowed_plugins = NULL; } @@ -665,8 +664,7 @@ grl_registry_shutdown (GrlRegistry *registry) while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &plugin)) { shutdown_plugin (plugin); } - g_hash_table_unref (registry->priv->plugins); - registry->priv->plugins = NULL; + g_clear_pointer (®istry->priv->plugins, g_hash_table_unref); } if (registry->priv->sources) { @@ -674,19 +672,11 @@ grl_registry_shutdown (GrlRegistry *registry) while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &source)) { g_object_unref (source); } - g_hash_table_unref (registry->priv->sources); - registry->priv->sources = NULL; + g_clear_pointer (®istry->priv->sources, g_hash_table_unref); } - if (registry->priv->ranks) { - g_hash_table_unref (registry->priv->ranks); - registry->priv->configs = NULL; - } - - if (registry->priv->configs) { - g_hash_table_unref (registry->priv->configs); - registry->priv->configs = NULL; - } + g_clear_pointer (®istry->priv->ranks, g_hash_table_unref); + g_clear_pointer (®istry->priv->configs, g_hash_table_unref); /* We need to free this table with care. Several keys can be pointing to the same value, so we need to ensure that we only free the value once */ @@ -702,8 +692,7 @@ grl_registry_shutdown (GrlRegistry *registry) } g_list_free (related_keys); } - g_hash_table_unref (registry->priv->related_keys); - registry->priv->related_keys = NULL; + g_clear_pointer (®istry->priv->related_keys, g_hash_table_unref); } g_slist_free_full (registry->priv->plugins_dir, (GDestroyNotify) g_free); @@ -1814,12 +1803,8 @@ grl_registry_add_config_from_resource (GrlRegistry *registry, } bail: - if (keyfile) { - g_key_file_free (keyfile); - } - if (bytes) { - g_bytes_unref (bytes); - } + g_clear_pointer (&keyfile, g_key_file_free); + g_clear_pointer (&bytes, g_bytes_unref); return ret; } diff --git a/src/grl-source.c b/src/grl-source.c index 2cf1cc7..8fd7597 100644 --- a/src/grl-source.c +++ b/src/grl-source.c @@ -544,9 +544,7 @@ grl_source_finalize (GObject *object) static void set_string_property (gchar **property, const GValue *value) { - if (*property) { - g_free (*property); - } + g_clear_pointer (property, g_free); *property = g_value_dup_string (value); } @@ -1177,9 +1175,7 @@ resolve_relay_free (struct ResolveRelayCb *rrc) } g_hash_table_unref (rrc->map); } - - if (rrc->resolve_specs) - g_hash_table_unref (rrc->resolve_specs); + g_clear_pointer (&rrc->resolve_specs, g_hash_table_unref); g_slice_free (struct ResolveRelayCb, rrc); } @@ -1193,9 +1189,8 @@ browse_relay_free (struct BrowseRelayCb *brc) if (brc->auto_split) { g_slice_free (struct AutoSplitCtl, brc->auto_split); } - if (brc->queue) { - g_queue_free (brc->queue); - } + g_clear_pointer (&brc->queue, g_queue_free); + g_slice_free (struct BrowseRelayCb, brc); } diff --git a/tools/grilo-test-ui/main.c b/tools/grilo-test-ui/main.c index aee6cf6..f6f12d9 100644 --- a/tools/grilo-test-ui/main.c +++ b/tools/grilo-test-ui/main.c @@ -413,10 +413,8 @@ browse_history_pop (GrlSource **source, GrlMedia **media) static void set_cur_browse (GrlSource *source, GrlMedia *media) { - if (ui_state->cur_source) - g_object_unref (ui_state->cur_source); - if (ui_state->cur_container) - g_object_unref (ui_state->cur_container); + g_clear_object (&ui_state->cur_source); + g_clear_object (&ui_state->cur_container); if (source) g_object_ref (source); @@ -430,10 +428,8 @@ set_cur_browse (GrlSource *source, GrlMedia *media) static void set_cur_resolve (GrlSource *source, GrlMedia *media) { - if (ui_state->cur_md_source) - g_object_unref (ui_state->cur_md_source); - if (ui_state->cur_md_media) - g_object_unref (ui_state->cur_md_media); + g_clear_object (&ui_state->cur_md_source); + g_clear_object (&ui_state->cur_md_media); if (source) g_object_ref (source); @@ -707,9 +703,7 @@ browse_search_query_cb (GrlSource *source, -1); g_object_unref (media); - if (icon) { - g_object_unref (icon); - } + g_clear_object (&icon); } if (remaining == 0) { @@ -870,12 +864,8 @@ browser_activated_cb (GtkTreeView *tree_view, browse_history_push (ui_state->cur_source, ui_state->cur_container); browse (source, container); - if (source) { - g_object_unref (source); - } - if (content) { - g_object_unref (content); - } + g_clear_object (&source); + g_clear_object (&content); } static void @@ -1070,8 +1060,7 @@ browser_row_selected_cb (GtkTreeView *tree_view, } g_object_unref (source); - if (content) - g_object_unref (content); + g_clear_object (&content); } static void @@ -1105,8 +1094,7 @@ show_btn_clicked_cb (GtkButton *btn, gpointer user_data) GRL_WARNING ("Cannot use '%s' to show '%s'; using default application", g_app_info_get_name (app), ui_state->last_url); - g_error_free (error); - error = NULL; + g_clear_error (&error); g_app_info_launch_default_for_uri (ui_state->last_url, NULL, &error); if (error) { GRL_WARNING ("Cannot use default application to show '%s'. " @@ -1134,10 +1122,8 @@ back_btn_clicked_cb (GtkButton *btn, gpointer user_data) browse_history_pop (&prev_source, &prev_container); browse (prev_source, prev_container); - if (prev_source) - g_object_unref (prev_source); - if (prev_container) - g_object_unref (prev_container); + g_clear_object (&prev_source); + g_clear_object (&prev_container); } static void @@ -1292,12 +1278,8 @@ remove_btn_clicked_cb (GtkButton *btn, gpointer user_data) grl_source_remove (source, media, remove_cb, NULL); - if (source) { - g_object_unref (source); - } - if (media) { - g_object_unref (media); - } + g_clear_object (&source); + g_clear_object (&media); } static void @@ -1368,9 +1350,7 @@ search_btn_clicked_cb (GtkButton *btn, gpointer user_data) search (source, text); } - if (source) { - g_object_unref (source); - } + g_clear_object (&source); } } @@ -1411,9 +1391,7 @@ query_btn_clicked_cb (GtkButton *btn, gpointer user_data) text = gtk_entry_get_text (GTK_ENTRY (view->query_text)); query (source, text); - if (source) { - g_object_unref (source); - } + g_clear_object (&source); } } @@ -2147,16 +2125,7 @@ show_browsable_sources () static void free_stack (GList **stack) { - GList *iter; - iter = *stack; - while (iter) { - if (iter->data) { - g_object_unref (iter->data); - } - iter = g_list_next (iter); - } - g_list_free (*stack); - *stack = NULL; + g_list_free_full (*stack, g_object_unref); } static void |