aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeo Xu <xuxingliang@xiaomi.com>2023-12-12 02:50:13 +0800
committerGitHub <noreply@github.com>2023-12-11 19:50:13 +0100
commit2b53325f49cb54ba263abc6faf53a4a7a662a66e (patch)
tree4d39b940fb9a7857543c2320b0a7b7b48f5553c8
parent3bb538b03239c88adbddcb10a148c349ce5dce40 (diff)
downloadlvgl-2b53325f49cb54ba263abc6faf53a4a7a662a66e.tar.gz
lvgl-2b53325f49cb54ba263abc6faf53a4a7a662a66e.zip
chore: do not use strdup in c99 (#4983)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
-rw-r--r--src/libs/fsdrv/lv_fs_stdio.c1
-rw-r--r--src/stdlib/clib/lv_string_clib.c4
2 files changed, 1 insertions, 4 deletions
diff --git a/src/libs/fsdrv/lv_fs_stdio.c b/src/libs/fsdrv/lv_fs_stdio.c
index 91a539910..492e04d53 100644
--- a/src/libs/fsdrv/lv_fs_stdio.c
+++ b/src/libs/fsdrv/lv_fs_stdio.c
@@ -282,6 +282,7 @@ static lv_fs_res_t fs_dir_read(lv_fs_drv_t * drv, void * dir_p, char * fn)
do {
entry = readdir(handle->dir_p);
if(entry) {
+ /*Note, DT_DIR is not defined in C99*/
if(entry->d_type == DT_DIR) snprintf(fn, strlen(entry->d_name), "/%s", entry->d_name);
else lv_strcpy(fn, entry->d_name);
}
diff --git a/src/stdlib/clib/lv_string_clib.c b/src/stdlib/clib/lv_string_clib.c
index 8d9222245..7bb35ea93 100644
--- a/src/stdlib/clib/lv_string_clib.c
+++ b/src/stdlib/clib/lv_string_clib.c
@@ -78,16 +78,12 @@ int32_t lv_strcmp(const char * s1, const char * s2)
char * lv_strdup(const char * src)
{
/*strdup uses malloc, so use the lv_malloc when LV_USE_STDLIB_MALLOC is not LV_STDLIB_CLIB */
-#if LV_USE_STDLIB_MALLOC != LV_STDLIB_CLIB
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;
-#else
- return strdup(src);
-#endif
}
/**********************