Re: [PATCH] diff.c: guard config parser from value=NULL
On Sun, Feb 10, 2008 at 07:35:34PM +0100, Christian Couder wrote:
Show 32 quoted lines
> 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 <chriscool@tuxfamily.org>
> ---
> 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.<drivername>.command" variable;
> * because there are "diff.color.<slot>" variables, we are parsingThis function could be used in config.c too. So move it to a common file.
mfg Martin Kögler