From: Junio C Hamano Date: Wed, 23 Feb 2011 23:16:21 GMT Subject: Re: [PATCH 4/6] Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option Message-ID: <7vei6y5ol6.fsf@alter.siamese.dyndns.org> In-Reply-To: <4D656FB0.7040904@web.de> Jens Lehmann writes: > diff --git a/submodule.c b/submodule.c > index cccd728..b477c3c 100644 > --- a/submodule.c > +++ b/submodule.c > @@ -113,7 +113,7 @@ int parse_submodule_config_option(const char *var, const char *value) > if (!config) > config = string_list_append(&config_fetch_recurse_submodules_for_name, > strbuf_detach(&submodname, NULL)); > - config->util = git_config_bool(var, value) ? (void *)1 : NULL; > + config->util = (void *)(size_t)parse_fetch_recurse_submodules_arg(value); What is this double-cast about? > @@ -376,8 +376,13 @@ int fetch_populated_submodules(int num_options, const char **options, > ... > + if ((size_t)fetch_recurse_submodules_option->util == RECURSE_SUBMODULES_OFF) > continue; > + if ((size_t)fetch_recurse_submodules_option->util == RECURSE_SUBMODULES_ON_DEMAND) { Likewise here; size_t feels a strange type to cast to in this comparison between (void *) and an enum, no?