Antonio Ospite <a...@ao2.it> writes:

> Add a helper function to make it clearer that retrieving 'fetch'
> configuration from the .gitmodules file is a special case supported
> solely for backward compatibility purposes.
> ...

Then perhaps the new public function deserves a comment stating
that?

> +struct fetch_config {
> +     int *max_children;
> +     int *recurse_submodules;
> +};
> +
> +static int gitmodules_fetch_config(const char *var, const char *value, void 
> *cb)
> +{
> +     struct fetch_config *config = cb;
> +     if (!strcmp(var, "submodule.fetchjobs")) {
> +             *(config->max_children) = parse_submodule_fetchjobs(var, value);
> +             return 0;
> +     } else if (!strcmp(var, "fetch.recursesubmodules")) {
> +             *(config->recurse_submodules) = 
> parse_fetch_recurse_submodules_arg(var, value);
> +             return 0;
> +     }
> +
> +     return 0;
> +}
> +
> +void fetch_config_from_gitmodules(int *max_children, int *recurse_submodules)
> +{
> +     struct fetch_config config = {
> +             .max_children = max_children,
> +             .recurse_submodules = recurse_submodules
> +     };

We started using designated initializers some time ago, and use of
it improves readability of something like this ;-)

> +     config_from_gitmodules(gitmodules_fetch_config, &config);
> +}
> diff --git a/submodule-config.h b/submodule-config.h
> index 5148801f4..cff297a75 100644
> --- a/submodule-config.h
> +++ b/submodule-config.h
> @@ -66,4 +66,6 @@ int check_submodule_name(const char *name);
>   */
>  extern void config_from_gitmodules(config_fn_t fn, void *data);
>  
> +extern void fetch_config_from_gitmodules(int *max_children, int 
> *recurse_submodules);
> +
>  #endif /* SUBMODULE_CONFIG_H */

Reply via email to