On Sun, Mar 10, 2013 at 05:57:53PM +0100, Heiko Voigt wrote:

> Because a config callback may start parsing a new file, the
> global context regarding the current config file is stored
> as a stack. Currently we only need to manage that stack from
> git_config_from_file. Let's factor it out to allow new
> sources of config data.
>
> [...]
>
> +static int do_config_from(struct config_file *top, config_fn_t fn, void 
> *data)
> +{
> +     int ret;
> +
> +     /* push config-file parsing state stack */
> +     top->prev = cf;
> +     top->linenr = 1;
> +     top->eof = 0;
> +     strbuf_init(&top->value, 1024);
> +     strbuf_init(&top->var, 1024);
> +     cf = top;
> +
> +     ret = git_parse_file(fn, data);
> +
> +     /* pop config-file parsing state stack */
> +     strbuf_release(&top->value);
> +     strbuf_release(&top->var);
> +     cf = top->prev;
> +
> +     return ret;
> +}

Can we throw in a comment at the top here with the expected usage? In
particular, do_config_from is expecting the caller to have filled in
certain fields (at this point, top->f and top->name), but there is
nothing to make that clear.

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

Reply via email to