From: Junio C Hamano Date: Mon, 01 Oct 2012 19:33:02 GMT Subject: Re: [PATCH] Remove the hard coded length limit on variable names in config files Message-ID: <7vvceuasy9.fsf@alter.siamese.dyndns.org> In-Reply-To: <1349034276-10690-1-git-send-email-bdwalton@gmail.com> Ben Walton writes: > Previously while reading the variable names in config files, there was > a 256 character limit with at most 128 of those characters being used > by the section header portion of the variable name. This limitation > was only enforced while reading the config files. It was possible to > write a config file that was not subsequently readable. > > Instead of enforcing this limitation for both reading and writing, > remove it entirely by changing the var member of the config_file > struct to a strbuf instead of a fixed length buffer. Update all of > the parsing functions in config.c to use the strbuf instead of the > static buffer. > > The parsing functions that returned the base length of the variable > name now return simply 0 for success and -1 for failure. The base > length information is obtained through the strbuf's len member. > > We now send the buf member of the strbuf to external callback > functions to preserve the external api. None of the external callers > rely on the old size limitation for sizing their own buffers so > removing the limit should have no externally visible effect. > > Signed-off-by: Ben Walton > --- > config.c | 59 +++++++++++++++++++++++++++++------------------------------ > 1 file changed, 29 insertions(+), 30 deletions(-) Makes sense, and I found the patch very readable. Thanks, both.