From: Martin Koegler Date: Sun, 10 Feb 2008 21:13:41 GMT Subject: Re: [PATCH] diff.c: guard config parser from value=NULL Message-ID: <20080210211341.GA24976@auto.tuwien.ac.at> In-Reply-To: <20080210193534.d11d8b15.chriscool@tuxfamily.org> On Sun, Feb 10, 2008 at 07:35:34PM +0100, Christian Couder wrote: > In fact we also guard for value="" as it doesn't make more sense > for the variables here. > > We do that by using a new function 'xstrdup_confval' to avoid code > duplication. > > By the way this changes a 'strdup' into 'xstrdup'. > > Signed-off-by: Christian Couder > --- > diff.c | 23 +++++++++++++---------- > 1 files changed, 13 insertions(+), 10 deletions(-) > > diff --git a/diff.c b/diff.c > index 5b8afdc..d51aecb 100644 > --- a/diff.c > +++ b/diff.c > @@ -60,6 +60,14 @@ static struct ll_diff_driver { > char *cmd; > } *user_diff, **user_diff_tail; > > +static int xstrdup_confval(const char *dest, const char *var, const char *value) > +{ > + if (!value || !*value) > + return error("%s: lacks value", var); > + dest = xstrdup(value); > + return 0; > +} > + > /* > * Currently there is only "diff..command" variable; > * because there are "diff.color." variables, we are parsing This function could be used in config.c too. So move it to a common file. mfg Martin Kögler