feat(str): add lv_strdup (#4498)

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
This commit is contained in:
Neo Xu
2023-08-30 00:20:29 +08:00
committed by GitHub
parent b92cfe801d
commit 5b60d1de72
11 changed files with 35 additions and 43 deletions
+11
View File
@@ -11,6 +11,7 @@
#include "../../misc/lv_log.h"
#include "../../misc/lv_math.h"
#include "../../stdlib/lv_string.h"
#include "../../stdlib/lv_mem.h"
/*********************
* DEFINES
@@ -170,6 +171,16 @@ char * lv_strcpy(char * dst, const char * src)
return tmp;
}
char * lv_strdup(const char * src)
{
size_t len = lv_strlen(src) + 1;
char * dst = lv_malloc(len);
if(dst == NULL) return NULL;
lv_memcpy(dst, src, len); /*do memcpy is faster than strncpy when length is known*/
return dst;
}
/**********************
* STATIC FUNCTIONS
**********************/
+5
View File
@@ -64,6 +64,11 @@ char * lv_strcpy(char * dst, const char * src)
return strcpy(dst, src);
}
char * lv_strdup(const char * src)
{
return strdup(src);
}
/**********************
* STATIC FUNCTIONS
**********************/
+6
View File
@@ -83,6 +83,12 @@ char * lv_strncpy(char * dst, const char * src, size_t dest_size);
*/
char * lv_strcpy(char * dst, const char * src);
/**
* @brief Duplicate a string by allocating a new one and copying the content.
* @param src Pointer to the source of data to be copied.
* @return A pointer to the new allocated string. NULL if failed.
*/
char * lv_strdup(const char * src);
/**********************
* MACROS