From: Tanay Abhra Date: Mon, 21 Jul 2014 14:00:47 GMT Subject: Re: [PATCH v3 0/6] git_config callers rewritten with the new config cache API Message-ID: <53CD1D0F.5000605@gmail.com> In-Reply-To: On 7/21/2014 7:15 PM, Matthieu Moy wrote: > Tanay Abhra 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.