summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan A. Suarez Romero <jasuarez@igalia.com>2014-03-06 17:28:08 +0000
committerJuan A. Suarez Romero <jasuarez@igalia.com>2014-03-06 18:31:32 +0100
commit806a8598c34d5b408eeebd3b699d50a03bd5c105 (patch)
treeb27efc3e695ee6c86189939defcfb547a459df13
parent0d380b7e10b84740a54ec108df61fc4c62b43e0f (diff)
downloadgrilo-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.ac2
-rw-r--r--libs/net/grl-net-mock.c37
-rw-r--r--libs/net/grl-net-wc.c10
-rw-r--r--libs/pls/grl-pls.c32
-rw-r--r--src/grl-caps.c8
-rw-r--r--src/grl-plugin.c9
-rw-r--r--src/grl-range-value.c9
-rw-r--r--src/grl-registry.c31
-rw-r--r--src/grl-source.c13
-rw-r--r--tools/grilo-test-ui/main.c63
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 (&registry->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 (&registry->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 (&registry->priv->ranks, g_hash_table_unref);
+ g_clear_pointer (&registry->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 (&registry->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