Subject: Re: [PATCH 2/2] Fix sparse warnings

From: Johannes Sixt <[email-masked]>
Date: Mon, 21 Mar 2011 11:10:40 +0100

Am 3/21/2011 10:45, schrieb Stephen Boyd:
> diff --git a/daemon.c b/daemon.c
> index 347fd0c..4c8346d 100644
> --- a/daemon.c
> +++ b/daemon.c
> @@ -660,7 +660,7 @@ static void check_dead_children(void)
>  static char **cld_argv;
>  static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)
>  {
> -	struct child_process cld = { 0 };
> +	struct child_process cld = { NULL };

IMO this change is not good.

The purpose of { 0} is not to initialize (only) the first member, but
rather to serve as a visual marker that says "We want the complete struct
zero-initialized".

> diff --git a/fast-import.c b/fast-import.c
> index d9f9a3f..65d65bf 100644
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -2939,7 +2939,7 @@ static void parse_ls(struct branch *b)
>  {
>  	const char *p;
>  	struct tree_entry *root = NULL;
> -	struct tree_entry leaf = {0};
> +	struct tree_entry leaf = {NULL};

Same here.

> diff --git a/imap-send.c b/imap-send.c
> index 71506a8..9adf4b9 100644
> --- a/imap-send.c
> +++ b/imap-send.c
> @@ -1069,7 +1069,7 @@ static struct store *imap_open_store(struct imap_server_conf *srvc)
>  
>  	if (srvc->tunnel) {
>  		const char *argv[] = { srvc->tunnel, NULL };
> -		struct child_process tunnel = {0};
> +		struct child_process tunnel = {NULL};

And here.

> diff --git a/transport.c b/transport.c
> index 0078660..f1c0781 100644
> --- a/transport.c
> +++ b/transport.c
> @@ -192,7 +192,7 @@ static const char *rsync_url(const char *url)
>  static struct ref *get_refs_via_rsync(struct transport *transport, int for_push)
>  {
>  	struct strbuf buf = STRBUF_INIT, temp_dir = STRBUF_INIT;
> -	struct ref dummy = {0}, *tail = &dummy;
> +	struct ref dummy = {NULL}, *tail = &dummy;

And here.

-- Hannes