Re: [PATCH 1/3] worktree.c: zero new 'struct worktree' on allocation
From: Junio C Hamano <hidden>
Date: 2016-11-23 16:52:46
Nguyễn Thái Ngọc Duy [off-list ref] writes:
This keeps things a bit simpler when we add more fields, knowing that default values are always zero. Signed-off-by: Nguyễn Thái Ngọc Duy <redacted> ---
Looks sensible. Thanks.
quoted hunk
worktree.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-)diff --git a/worktree.c b/worktree.c index f7869f8..f7c1b5e 100644 --- a/worktree.c +++ b/worktree.c@@ -91,16 +91,11 @@ static struct worktree *get_main_worktree(void) if (parse_ref(path.buf, &head_ref, &is_detached) < 0) goto done; - worktree = xmalloc(sizeof(struct worktree)); + worktree = xcalloc(1, sizeof(*worktree)); worktree->path = strbuf_detach(&worktree_path, NULL); - worktree->id = NULL; worktree->is_bare = is_bare; - worktree->head_ref = NULL; worktree->is_detached = is_detached; - worktree->is_current = 0; add_head_info(&head_ref, worktree); - worktree->lock_reason = NULL; - worktree->lock_reason_valid = 0; done: strbuf_release(&path);@@ -138,16 +133,11 @@ static struct worktree *get_linked_worktree(const char *id) if (parse_ref(path.buf, &head_ref, &is_detached) < 0) goto done; - worktree = xmalloc(sizeof(struct worktree)); + worktree = xcalloc(1, sizeof(*worktree)); worktree->path = strbuf_detach(&worktree_path, NULL); worktree->id = xstrdup(id); - worktree->is_bare = 0; - worktree->head_ref = NULL; worktree->is_detached = is_detached; - worktree->is_current = 0; add_head_info(&head_ref, worktree); - worktree->lock_reason = NULL; - worktree->lock_reason_valid = 0; done: strbuf_release(&path);