Re: [PATCH v3 0/6] git_config callers rewritten with the new config cache API
- From
Tanay Abhra <tanayabh@gmail.com>
- Date
- Jul 21, 2014, 14:00 UTC
- Message-ID
- <53CD1D0F.5000605@gmail.com>
- In-Reply-To
- <vpqy4vmakq3.fsf@anie.imag.fr>
On 7/21/2014 7:15 PM, Matthieu Moy wrote:
Show 16 quoted lines
> Tanay Abhra <tanayabh@gmail.com> writes:
>
>> On 7/21/2014 6:21 PM, Matthieu Moy wrote:
>>> 2) Add a by-address parameter to git_configset_get_value that allows the
>>> user to get the file and line information. In your previous patch,
>>> that would mean returning a pointer to the corresponding struct
>>> key_source.
>>
>> Will this extra complexity be good for "git_configset_get_value"?
>> Instead can we provide a function like die_config(char *key)
>> which prints
>> die("bad config file line %d in %s", linenr, filename);?
>
> Where would you call this function, and where would you take linenr and
> filename?
>Usage can be like this,
if(!git_config_get_value(k, &v)) {
if (!v) {
config_error_nonbool(k);
die_config(k);
/* die_config calls git_config_get_value_multi for 'k',
* gets the string list with the util pointer containing
* the linenr and the file name, dies printing the message.
*/
} else
/* do work */
}Above example works just like the current code. Currently the callbacks does not have the access to the linenr and file name anyway.