Re: [PATCH 3/3] Remove unsupported C99 style struct initializers in git-archive.

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

 



"Shawn O. Pearce" <spearce@xxxxxxxxxxx> writes:

> +static struct archiver_desc
> +{
> +	const char *name;
> +	write_archive_fn_t write_archive;
> +	parse_extra_args_fn_t parse_extra;
> +} archivers[] = {
> +	{ "tar", write_tar_archive, NULL },
> +	{ "zip", write_zip_archive, parse_extra_zip_args },
>  };

If this were a struct with bazillions of fields I might have had
trouble swallowing the change, but this is so small that it is
no brainer.

I think this actually is an improvement.

>  static int run_remote_archiver(const char *remote, int argc,
> @@ -88,7 +86,10 @@ static int init_archiver(const char *nam
>  
>  	for (i = 0; i < ARRAY_SIZE(archivers); i++) {
>  		if (!strcmp(name, archivers[i].name)) {
> -			memcpy(ar, &archivers[i], sizeof(struct archiver));
> +			memset(ar, 0, sizeof(*ar));
> +			ar->name = archivers[i].name;
> +			ar->write_archive = archivers[i].write_archive;
> +			ar->parse_extra = archivers[i].parse_extra;

But is this change really needed?  Shouldn't a structure
assignment just work?

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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]