git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/3] worktree.c: zero new 'struct worktree' on allocation

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 23, 2016, 16:52 UTC
Message-ID
<xmqq7f7unnoo.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20161122100046.8341-2-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:
Show 5 quoted lines
> 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 <pclouds@gmail.com>
> ---
Looks sensible.  Thanks.
Show 43 quoted lines
>  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);
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 3 of 19 in “Minor fixes on 'git worktree'”
  1. 0/3 Minor fixes on 'git worktree'Nguyễn Thái Ngọc Duy, Nov 22, 2016
  2. 1/3 worktree.c: zero new 'struct worktree' on allocationNguyễn Thái Ngọc Duy, Nov 22, 2016
  3. Junio C HamanoNov 23, 2016
  4. 2/3 get_worktrees() must return main worktree as first item even on errorNguyễn Thái Ngọc Duy, Nov 22, 2016
  5. Junio C HamanoNov 23, 2016
  6. 3/3 worktree list: keep the list sortedNguyễn Thái Ngọc Duy, Nov 22, 2016
  7. Junio C HamanoNov 23, 2016
  8. Duy NguyenNov 25, 2016
  9. Junio C HamanoNov 23, 2016
  10. Duy NguyenNov 25, 2016
  11. Duy NguyenNov 25, 2016
  12. Junio C HamanoNov 28, 2016
  13. 0/5 nd/worktree-list-fixupNguyễn Thái Ngọc Duy, Nov 28, 2016
  14. 1/5 worktree.c: zero new 'struct worktree' on allocationNguyễn Thái Ngọc Duy, Nov 28, 2016
  15. 2/5 worktree: reorder an if statementNguyễn Thái Ngọc Duy, Nov 28, 2016
  16. 5/5 worktree list: keep the list sortedNguyễn Thái Ngọc Duy, Nov 28, 2016
  17. 3/5 get_worktrees() must return main worktree as first item even on errorNguyễn Thái Ngọc Duy, Nov 28, 2016
  18. 4/5 worktree.c: get_worktrees() takes a new flag argumentNguyễn Thái Ngọc Duy, Nov 28, 2016
  19. Junio C HamanoNov 28, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.