Re: [PATCH 1/4] config: factor out config file stack management
- From
Heiko Voigt <hvoigt@hvoigt.net>
- Date
- Feb 26, 2013, 20:09 UTC
- Message-ID
- <20130226200940.GF22756@sandbox-ub>
- In-Reply-To
- <20130226195449.GA13830@sigill.intra.peff.net>
On Tue, Feb 26, 2013 at 02:54:49PM -0500, Jeff King wrote:
Show 28 quoted lines
> On Tue, Feb 26, 2013 at 08:38:50PM +0100, Heiko Voigt wrote:
> > +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;
> > +}
>
> This function name is a bit weird. I would have thought the "from" here
> was going to be a file, or a string, or whatever. But the filename setup
> happens outside this function (and yet this function depends on it being
> set up, as it calls git_parse_file). But maybe it will get less
> confusing with the other patches on top...The "do_config_from" means "parse from whatever is in 'top'". Later in the series its type changes from config_file to struct config.
The name 'git_parse_file' becomes definitely wrong after this series. Maybe I should rename it?
Cheers Heiko