[giggle] libgiggle-git: Use g_list_free_full() convenience function
- From: Javier JardÃn <jjardon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [giggle] libgiggle-git: Use g_list_free_full() convenience function
- Date: Mon, 2 Jan 2012 03:06:22 +0000 (UTC)
commit f0de6ce6a49d4a1b465aaaf92d94ea3ca113df5d
Author: Javier JardÃn <jjardon gnome org>
Date: Mon Jan 2 03:21:14 2012 +0100
libgiggle-git: Use g_list_free_full() convenience function
libgiggle-git/giggle-git-add.c | 3 +--
libgiggle-git/giggle-git-authors.c | 16 +++++++---------
libgiggle-git/giggle-git-commit.c | 3 +--
libgiggle-git/giggle-git-config.c | 3 +--
libgiggle-git/giggle-git-diff-tree.c | 6 ++----
libgiggle-git/giggle-git-diff.c | 3 +--
libgiggle-git/giggle-git-refs.c | 19 +++++++------------
libgiggle-git/giggle-git-revisions.c | 24 ++++++++++++++++--------
libgiggle-git/giggle-git.c | 3 +--
libgiggle/giggle-revision.c | 2 +-
10 files changed, 38 insertions(+), 44 deletions(-)
---
diff --git a/libgiggle-git/giggle-git-add.c b/libgiggle-git/giggle-git-add.c
index 7672ada..e67053f 100644
--- a/libgiggle-git/giggle-git-add.c
+++ b/libgiggle-git/giggle-git-add.c
@@ -83,8 +83,7 @@ git_add_finalize (GObject *object)
priv = GET_PRIV (object);
- g_list_foreach (priv->files, (GFunc) g_free, NULL);
- g_list_free (priv->files);
+ g_list_free_full (priv->files, g_free);
G_OBJECT_CLASS (giggle_git_add_parent_class)->finalize (object);
}
diff --git a/libgiggle-git/giggle-git-authors.c b/libgiggle-git/giggle-git-authors.c
index e1c4eaa..e671f8c 100644
--- a/libgiggle-git/giggle-git-authors.c
+++ b/libgiggle-git/giggle-git-authors.c
@@ -128,7 +128,7 @@ giggle_flexible_author_new (gchar const* name,
}
/* END: GiggleFlexibleAuthor API */
-static void git_authors_finalize (GObject *object);
+static void git_authors_dispose (GObject *object);
static void git_authors_get_property (GObject *object,
guint param_id,
GValue *value,
@@ -153,7 +153,7 @@ giggle_git_authors_class_init (GiggleGitAuthorsClass *class)
GObjectClass *object_class = G_OBJECT_CLASS (class);
GiggleJobClass *job_class = GIGGLE_JOB_CLASS (class);
- object_class->finalize = git_authors_finalize;
+ object_class->dispose = git_authors_dispose;
object_class->get_property = git_authors_get_property;
object_class->set_property = git_authors_set_property;
@@ -179,17 +179,16 @@ giggle_git_authors_init (GiggleGitAuthors *git_authors)
}
static void
-git_authors_finalize (GObject *object)
+git_authors_dispose (GObject *object)
{
GiggleGitAuthorsPriv *priv;
priv = GET_PRIV (object);
- g_list_foreach (priv->authors, (GFunc) g_object_unref, NULL);
- g_list_free (priv->authors);
+ g_list_free_full (priv->authors, g_object_unref);
priv->authors = NULL;
- G_OBJECT_CLASS (giggle_git_authors_parent_class)->finalize (object);
+ G_OBJECT_CLASS (giggle_git_authors_parent_class)->dispose (object);
}
static void
@@ -346,10 +345,9 @@ authors_handle_output (GiggleJob *job,
}
}
- g_list_foreach (priv->authors, (GFunc) g_object_unref, NULL);
- g_list_free (priv->authors);
-
+ g_list_free_full (priv->authors, g_object_unref);
priv->authors = NULL;
+
g_hash_table_foreach (authors_by_name, (GHFunc) add_author, priv);
priv->authors = g_list_sort (priv->authors, (GCompareFunc) authors_compare_commits);
diff --git a/libgiggle-git/giggle-git-commit.c b/libgiggle-git/giggle-git-commit.c
index 1a475b7..06adb65 100644
--- a/libgiggle-git/giggle-git-commit.c
+++ b/libgiggle-git/giggle-git-commit.c
@@ -95,8 +95,7 @@ git_commit_finalize (GObject *object)
g_free (priv->log);
- g_list_foreach (priv->files, (GFunc) g_free, NULL);
- g_list_free (priv->files);
+ g_list_free_full (priv->files, g_free);
G_OBJECT_CLASS (giggle_git_commit_parent_class)->finalize (object);
}
diff --git a/libgiggle-git/giggle-git-config.c b/libgiggle-git/giggle-git-config.c
index ffcb79f..54dcbfb 100644
--- a/libgiggle-git/giggle-git-config.c
+++ b/libgiggle-git/giggle-git-config.c
@@ -461,8 +461,7 @@ GIT_CONFIG_write (GiggleGitConfigTask *task)
g_signal_emit (task->config, signals[CHANGED], 0);
/* we're done with the task, free it */
- g_list_foreach (priv->changed_keys, (GFunc) g_free, NULL);
- g_list_free (priv->changed_keys);
+ g_list_free_full (priv->changed_keys, g_free);
g_free (task);
}
}
diff --git a/libgiggle-git/giggle-git-diff-tree.c b/libgiggle-git/giggle-git-diff-tree.c
index 1a872df..f9313ce 100644
--- a/libgiggle-git/giggle-git-diff-tree.c
+++ b/libgiggle-git/giggle-git-diff-tree.c
@@ -120,8 +120,7 @@ git_diff_tree_finalize (GObject *object)
g_object_unref (priv->rev2);
}
- g_list_foreach (priv->files, (GFunc) g_free, NULL);
- g_list_free (priv->files);
+ g_list_free_full (priv->files, g_free);
g_hash_table_destroy (priv->actions);
g_hash_table_destroy (priv->sha_table1);
@@ -223,8 +222,7 @@ git_diff_tree_handle_output (GiggleJob *job,
priv = GET_PRIV (job);
- g_list_foreach (priv->files, (GFunc) g_free, NULL);
- g_list_free (priv->files);
+ g_list_free_full (priv->files, g_free);
lines = g_strsplit (output_str, "\n", -1);
diff --git a/libgiggle-git/giggle-git-diff.c b/libgiggle-git/giggle-git-diff.c
index 7066835..3112cf8 100644
--- a/libgiggle-git/giggle-git-diff.c
+++ b/libgiggle-git/giggle-git-diff.c
@@ -127,8 +127,7 @@ git_diff_finalize (GObject *object)
g_free (priv->result);
- g_list_foreach (priv->files, (GFunc) g_free, NULL);
- g_list_free (priv->files);
+ g_list_free_full (priv->files, g_free);
if (priv->patch_format) {
g_object_unref (priv->patch_format);
diff --git a/libgiggle-git/giggle-git-refs.c b/libgiggle-git/giggle-git-refs.c
index ef75019..4db9cc5 100644
--- a/libgiggle-git/giggle-git-refs.c
+++ b/libgiggle-git/giggle-git-refs.c
@@ -35,7 +35,7 @@ struct GiggleGitRefsPriv {
GList *remotes;
};
-static void git_refs_finalize (GObject *object);
+static void git_refs_dispose (GObject *object);
static void git_refs_get_property (GObject *object,
guint param_id,
GValue *value,
@@ -63,7 +63,7 @@ giggle_git_refs_class_init (GiggleGitRefsClass *class)
GObjectClass *object_class = G_OBJECT_CLASS (class);
GiggleJobClass *job_class = GIGGLE_JOB_CLASS (class);
- object_class->finalize = git_refs_finalize;
+ object_class->dispose = git_refs_dispose;
object_class->get_property = git_refs_get_property;
object_class->set_property = git_refs_set_property;
@@ -79,22 +79,17 @@ giggle_git_refs_init (GiggleGitRefs *refs)
}
static void
-git_refs_finalize (GObject *object)
+git_refs_dispose (GObject *object)
{
GiggleGitRefsPriv *priv;
priv = GET_PRIV (object);
- g_list_foreach (priv->branches, (GFunc) g_object_unref, NULL);
- g_list_free (priv->branches);
+ g_list_free_full (priv->branches, g_object_unref);
+ g_list_free_full (priv->tags, g_object_unref);
+ g_list_free_full (priv->remotes, g_object_unref);
- g_list_foreach (priv->tags, (GFunc) g_object_unref, NULL);
- g_list_free (priv->tags);
-
- g_list_foreach (priv->remotes, (GFunc) g_object_unref, NULL);
- g_list_free (priv->remotes);
-
- G_OBJECT_CLASS (giggle_git_refs_parent_class)->finalize (object);
+ G_OBJECT_CLASS (giggle_git_refs_parent_class)->dispose (object);
}
static void
diff --git a/libgiggle-git/giggle-git-revisions.c b/libgiggle-git/giggle-git-revisions.c
index c79cd40..7b53c99 100644
--- a/libgiggle-git/giggle-git-revisions.c
+++ b/libgiggle-git/giggle-git-revisions.c
@@ -38,20 +38,27 @@ struct _GiggleGitRevisionsPriv {
G_DEFINE_TYPE (GiggleGitRevisions, giggle_git_revisions, GIGGLE_TYPE_JOB)
static void
+git_revisions_dispose (GObject *object)
+{
+ GiggleGitRevisions *revisions = GIGGLE_GIT_REVISIONS (object);
+ GiggleGitRevisionsPriv *priv = revisions->priv;
+
+ if (priv->regex_committer)
+ g_regex_unref (priv->regex_committer);
+
+ g_list_free_full (priv->revisions, g_object_unref);
+
+ G_OBJECT_CLASS (giggle_git_revisions_parent_class)->dispose (object);
+}
+
+static void
git_revisions_finalize (GObject *object)
{
GiggleGitRevisionsPriv *priv;
priv = GIGGLE_GIT_REVISIONS (object)->priv;
- if (priv->regex_committer)
- g_regex_unref (priv->regex_committer);
-
- g_list_foreach (priv->revisions, (GFunc) g_object_unref, NULL);
- g_list_free (priv->revisions);
-
- g_list_foreach (priv->files, (GFunc) g_free, NULL);
- g_list_free (priv->files);
+ g_list_free_full (priv->files, g_free);
G_OBJECT_CLASS (giggle_git_revisions_parent_class)->finalize (object);
}
@@ -337,6 +344,7 @@ giggle_git_revisions_class_init (GiggleGitRevisionsClass *class)
GObjectClass *object_class = G_OBJECT_CLASS (class);
GiggleJobClass *job_class = GIGGLE_JOB_CLASS (class);
+ object_class->dispose = git_revisions_dispose;
object_class->finalize = git_revisions_finalize;
object_class->get_property = git_revisions_get_property;
object_class->set_property = git_revisions_set_property;
diff --git a/libgiggle-git/giggle-git.c b/libgiggle-git/giggle-git.c
index 89a3303..2c22bce 100644
--- a/libgiggle-git/giggle-git.c
+++ b/libgiggle-git/giggle-git.c
@@ -522,8 +522,7 @@ giggle_git_update_remotes (GiggleGit* git)
priv = git->priv;
/* cleanup */
- g_list_foreach (priv->remotes, (GFunc) g_object_unref, NULL);
- g_list_free (priv->remotes);
+ g_list_free_full (priv->remotes, g_object_unref);
priv->remotes = NULL;
/* list remotes */
diff --git a/libgiggle/giggle-revision.c b/libgiggle/giggle-revision.c
index d622a34..91c514f 100644
--- a/libgiggle/giggle-revision.c
+++ b/libgiggle/giggle-revision.c
@@ -250,7 +250,7 @@ giggle_revision_set_author (GiggleRevision *revision,
g_return_if_fail (GIGGLE_IS_REVISION (revision));
g_return_if_fail (GIGGLE_IS_AUTHOR (author) | !author);
- g_clear_object (&revision->priv->author)
+ g_clear_object (&revision->priv->author);
revision->priv->author = g_object_ref (author);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]