From a41b0aa21da78acb3f32d1829ce01a7d102ade5b Mon Sep 17 00:00:00 2001 From: Christophe CURIS Date: Sat, 4 Sep 2021 19:05:26 +0200 Subject: [PATCH] WINGs: Simplify function wstrconcat Because we have allocated enough space, it is a waste of time to check the size after copy and cat; beside the use of plain strxxx functions may allow compiler to make a better job. --- WINGs/string.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/WINGs/string.c b/WINGs/string.c index a48d8d7f..393f2887 100644 --- a/WINGs/string.c +++ b/WINGs/string.c @@ -204,7 +204,7 @@ char *wstrndup(const char *str, size_t len) char *wstrconcat(const char *str1, const char *str2) { char *str; - size_t slen; + size_t slen, slen1; if (!str1 && str2) return wstrdup(str2); @@ -213,13 +213,11 @@ char *wstrconcat(const char *str1, const char *str2) else if (!str1 && !str2) return NULL; - slen = strlen(str1) + strlen(str2) + 1; + slen1 = strlen(str1); + slen = slen1 + strlen(str2) + 1; str = wmalloc(slen); - if (wstrlcpy(str, str1, slen) >= slen || - wstrlcat(str, str2, slen) >= slen) { - wfree(str); - return NULL; - } + strcpy(str, str1); + strcpy(str + slen1, str2); return str; }