From 9e2d1b3ecf70839c8a56c4b720d2d184910b627c Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Sat, 5 May 2012 19:42:42 +0200 Subject: [PATCH] Don't fail with assert() in string functions if both strings are NULL. wstrconcat and wstrappend already support situations in which first OR second string are NULL, but not if BOTH are NULL. Fixed that. --- WINGs/string.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/WINGs/string.c b/WINGs/string.c index d2e8b2a8..8da008fc 100644 --- a/WINGs/string.c +++ b/WINGs/string.c @@ -208,10 +208,12 @@ char *wstrconcat(char *str1, char *str2) char *str; size_t slen; - if (!str1) + if (!str1 && str2) return wstrdup(str2); - else if (!str2) + else if (str1 && !str2) return wstrdup(str1); + else if (!str1 && !str2) + return NULL; slen = strlen(str1) + strlen(str2) + 1; str = wmalloc(slen); @@ -228,10 +230,10 @@ char *wstrappend(char *dst, char *src) { size_t slen; - if (!dst) - return wstrdup(src); - else if (!src || *src == 0) + if (!src || *src == 0) return dst; + else if (!dst) + return wstrdup(src); slen = strlen(dst) + strlen(src) + 1; dst = wrealloc(dst, slen);