Re: [PATCHv4 1/6] environment: static list of repo-local env vars

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

 



Giuseppe Bilotta <giuseppe.bilotta@xxxxxxxxx> writes:

> +/* Repository-local GIT_* environment variables */
> +const char *const local_repo_env[] = {
> +	ALTERNATE_DB_ENVIRONMENT,
> +	CONFIG_ENVIRONMENT,
> +	DB_ENVIRONMENT,
> +	GIT_DIR_ENVIRONMENT,
> +	GIT_WORK_TREE_ENVIRONMENT,
> +	GRAFT_ENVIRONMENT,
> +	INDEX_ENVIRONMENT,
> +	NO_REPLACE_OBJECTS_ENVIRONMENT,
> +	NULL
> +};
> +
> +const unsigned int local_repo_env_size = ARRAY_SIZE(local_repo_env);

This does not look very useful for two reasons.

 - It counts the NULL at the tail, so the number is one-off; you cannot
   say

	for (i = 0; i < local_repo_env_size; i++)
		do_something_to(local_repo_env[i]);

 - local_repo_env_size is not a compile time constant, so you cannot do:

	const char *env[local_repo_env_size + 20];
	memcpy(env, local_repo_env, sizeof(env[0]) * local_repo_env_size);
	for (i = local_repo_env_size; i < ARRAY_SIZE(env); i++)
		add_more_to(env + i, ...);

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