[PATCH] dive.c:merge_text(): Slighly better string merge logic
Lubomir I. Ivanov
neolit123 at gmail.com
Fri Mar 8 10:09:09 PST 2013
On 8 March 2013 20:06, Dirk Hohndel <dirk at hohndel.org> wrote:
> That's what I ended up doing:
>
> diff --git a/dive.c b/dive.c
> index 1b4c783..034fb15 100644
> --- a/dive.c
> +++ b/dive.c
> @@ -908,11 +908,11 @@ static char *merge_text(const char *a, const char *b)
> if (!a && !b)
> return NULL;
> if (!a || !*a)
> - return strdup(b);
> + return b ? strdup(b) : NULL
> if (!b || !*b)
> return strdup(a);
> if (!strcmp(a,b))
> - return strdup(a);
> + return a ? strdup(a) : NULL;
> res = malloc(strlen(a) + strlen(b) + 32);
> if (!res)
> return (char *)a;
>
>
yep, i think it covers all cases.
lubomir
--
More information about the subsurface
mailing list