[PATCH] repository: use FREE_AND_NULL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Use the macro FREE_AND_NULL to release allocated objects and clear their
pointers.  This is shorter and documents the intent better by combining
the two related operations into one.

Patch generated with Coccinelle and contrib/coccinelle/free.cocci.

Signed-off-by: Rene Scharfe <l.s.r@xxxxxx>
---
 repository.c | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/repository.c b/repository.c
index 97c732bd48..bb2fae5446 100644
--- a/repository.c
+++ b/repository.c
@@ -200,25 +200,17 @@ int repo_submodule_init(struct repository *submodule,
 
 void repo_clear(struct repository *repo)
 {
-	free(repo->gitdir);
-	repo->gitdir = NULL;
-	free(repo->commondir);
-	repo->commondir = NULL;
-	free(repo->objectdir);
-	repo->objectdir = NULL;
-	free(repo->graft_file);
-	repo->graft_file = NULL;
-	free(repo->index_file);
-	repo->index_file = NULL;
-	free(repo->worktree);
-	repo->worktree = NULL;
-	free(repo->submodule_prefix);
-	repo->submodule_prefix = NULL;
+	FREE_AND_NULL(repo->gitdir);
+	FREE_AND_NULL(repo->commondir);
+	FREE_AND_NULL(repo->objectdir);
+	FREE_AND_NULL(repo->graft_file);
+	FREE_AND_NULL(repo->index_file);
+	FREE_AND_NULL(repo->worktree);
+	FREE_AND_NULL(repo->submodule_prefix);
 
 	if (repo->config) {
 		git_configset_clear(repo->config);
-		free(repo->config);
-		repo->config = NULL;
+		FREE_AND_NULL(repo->config);
 	}
 
 	if (repo->submodule_cache) {
@@ -228,8 +220,7 @@ void repo_clear(struct repository *repo)
 
 	if (repo->index) {
 		discard_index(repo->index);
-		free(repo->index);
-		repo->index = NULL;
+		FREE_AND_NULL(repo->index);
 	}
 }
 
-- 
2.14.2



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux