mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-18 12:00:31 +01:00
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.
This commit is contained in:
committed by
Carlos R. Mafra
parent
d4cc033379
commit
a41b0aa21d
@@ -204,7 +204,7 @@ char *wstrndup(const char *str, size_t len)
|
|||||||
char *wstrconcat(const char *str1, const char *str2)
|
char *wstrconcat(const char *str1, const char *str2)
|
||||||
{
|
{
|
||||||
char *str;
|
char *str;
|
||||||
size_t slen;
|
size_t slen, slen1;
|
||||||
|
|
||||||
if (!str1 && str2)
|
if (!str1 && str2)
|
||||||
return wstrdup(str2);
|
return wstrdup(str2);
|
||||||
@@ -213,13 +213,11 @@ char *wstrconcat(const char *str1, const char *str2)
|
|||||||
else if (!str1 && !str2)
|
else if (!str1 && !str2)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
slen = strlen(str1) + strlen(str2) + 1;
|
slen1 = strlen(str1);
|
||||||
|
slen = slen1 + strlen(str2) + 1;
|
||||||
str = wmalloc(slen);
|
str = wmalloc(slen);
|
||||||
if (wstrlcpy(str, str1, slen) >= slen ||
|
strcpy(str, str1);
|
||||||
wstrlcat(str, str2, slen) >= slen) {
|
strcpy(str + slen1, str2);
|
||||||
wfree(str);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user