From dc0210b9c6bf35c79c836e4681560ac358dc6723 Mon Sep 17 00:00:00 2001 From: lhdjply Date: Thu, 28 Mar 2024 04:17:05 +0800 Subject: [PATCH] fix(rtthread): implement lv_strcat function in rt-thread due to absence of rt_strcat (#5920) Signed-off-by: lhdjply --- src/stdlib/builtin/lv_string_builtin.c | 8 ++------ src/stdlib/rtthread/lv_string_rtthread.c | 5 ++++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/stdlib/builtin/lv_string_builtin.c b/src/stdlib/builtin/lv_string_builtin.c index 62742a39f..bc4551bbb 100644 --- a/src/stdlib/builtin/lv_string_builtin.c +++ b/src/stdlib/builtin/lv_string_builtin.c @@ -229,12 +229,8 @@ char * lv_strdup(const char * src) char * lv_strcat(char * dst, const char * src) { - char * tmp = dst; - while(*dst != '\0') { - dst++; - } - lv_strcpy(dst, src); - return tmp; + lv_strcpy(dst + lv_strlen(dst), src); + return dst; } char * lv_strncat(char * dst, const char * src, size_t src_len) diff --git a/src/stdlib/rtthread/lv_string_rtthread.c b/src/stdlib/rtthread/lv_string_rtthread.c index 68ea8d9bc..c2a12a117 100644 --- a/src/stdlib/rtthread/lv_string_rtthread.c +++ b/src/stdlib/rtthread/lv_string_rtthread.c @@ -87,7 +87,10 @@ char * lv_strdup(const char * src) char * lv_strcat(char * dst, const char * src) { - return strcat(dst, src); + /*Since RT-thread does not have rt_strcat, + the following code is used instead.*/ + lv_strcpy(dst + lv_strlen(dst), src); + return dst; } char * lv_strncat(char * dst, const char * src, size_t src_len)