From: René Scharfe Date: Sun, 1 Oct 2017 14:44:46 +0000 (+0200) Subject: repository: use FREE_AND_NULL X-Git-Tag: v2.15.0-rc0~4^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/90dd04aaeb9ddbdc26c5937a118db505c6a28394?ds=inline;hp=--cc repository: use FREE_AND_NULL 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 Signed-off-by: Junio C Hamano --- 90dd04aaeb9ddbdc26c5937a118db505c6a28394 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); } }