From: Nguyen Thai Ngoc Duy Date: Wed, 08 Feb 2012 04:01:10 GMT Subject: Re: [PATCH 1/2] docs: add a basic description of the config API Message-ID: In-Reply-To: <7vlioe1o1g.fsf@alter.siamese.dyndns.org> 2012/2/8 Junio C Hamano : > Jeff King writes: > >>> > +A config callback should return 0 for success, or -1 if the variable >>> > +could not be parsed properly. >>> >>> This matches what I have always thought, but I think I recently saw a >>> series that adds callbacks that return 1 to mean "I have understood this >>> variable, so callers should not look at it any more".  It felt wrong, but >>> I did not find anything in the config.c API framework to prvent such a >>> local calling convention. >> >> ... >> The "1 means I understood this" convention is used by userdiff_config. I >> don't like that it is unlike every other config callback,... >> Looking at the code again, though, ... >> Hmm. Yeah. The userdiff calling convention dates back to late 2008.... >> So I think we could go back and simplify the userdiff_config code now. > > I remembered where I saw the new "offender"; it was nd/columns > topic (Cc'ing Nguyễn). nd/columns does use "1" convention in git_column_config(), but the direct config callback function does not return 1 to config machinery. All call sites follow this pattern: int ret = git_column_config(key, var, "command", &colopts); if (ret <= 0) return ret; I think it's ok. -- Duy