From 352420cd54a66fc20feadca5f41a5fe45eb16caa Mon Sep 17 00:00:00 2001 From: Michael Simon Date: Wed, 20 Mar 2024 05:10:33 +0100 Subject: [PATCH] refacter(conf): use defines for standard includes (#5767) Co-authored-by: Gabor Kiss-Vamosi Co-authored-by: Neo Xu --- demos/flex_layout/lv_demo_flex_layout_main.h | 2 + demos/keypad_encoder/lv_demo_keypad_encoder.c | 2 +- demos/multilang/assets/img_multilang_like.c | 2 +- examples/libs/qrcode/lv_example_qrcode_1.c | 1 + .../others/observer/lv_example_observer_2.c | 2 +- .../widgets/textarea/lv_example_textarea_1.c | 4 +- lv_conf_template.h | 6 +++ src/core/lv_global.h | 4 +- src/core/lv_group.c | 3 +- src/core/lv_group.h | 3 -- src/core/lv_obj.c | 3 +- src/core/lv_obj.h | 2 - src/core/lv_obj_class.h | 2 - src/core/lv_obj_event.h | 1 - src/core/lv_obj_style.h | 3 +- src/core/lv_obj_tree.c | 2 - src/core/lv_obj_tree.h | 2 - src/core/lv_refr.c | 2 +- src/core/lv_refr.h | 2 +- src/draw/lv_draw_line.c | 2 +- src/draw/lv_draw_mask.c | 2 +- src/draw/lv_draw_vector.c | 2 +- src/draw/lv_image_decoder.h | 1 - src/draw/sw/lv_draw_sw_line.c | 3 +- src/draw/sw/lv_draw_sw_mask.h | 2 +- src/draw/vg_lite/lv_draw_buf_vg_lite.c | 1 + src/draw/vg_lite/lv_vg_lite_decoder.c | 2 + src/draw/vg_lite/lv_vg_lite_grad.c | 6 ++- src/drivers/display/drm/lv_linux_drm.c | 1 + src/drivers/libinput/lv_libinput.c | 1 + src/font/lv_binfont_loader.c | 18 ++++---- src/font/lv_font.h | 5 +-- src/font/lv_font_fmt_txt.h | 4 +- src/libs/libpng/lv_libpng.c | 1 + src/libs/rlottie/lv_rlottie.c | 1 + src/libs/tjpgd/lv_tjpgd.c | 1 + src/lv_conf_internal.h | 42 +++++++++++++++++++ src/lv_init.h | 2 +- src/misc/cache/lv_cache.h | 3 +- src/misc/cache/lv_cache_entry.h | 2 - src/misc/cache/lv_cache_entry_private.h | 2 - src/misc/cache/lv_cache_private.h | 2 - src/misc/lv_anim.h | 4 -- src/misc/lv_area.h | 3 -- src/misc/lv_array.h | 4 -- src/misc/lv_bidi.c | 2 +- src/misc/lv_bidi.h | 4 +- src/misc/lv_color.h | 2 - src/misc/lv_color_op.h | 2 +- src/misc/lv_event.c | 2 +- src/misc/lv_event.h | 2 - src/misc/lv_fs.c | 1 - src/misc/lv_fs.h | 4 +- src/misc/lv_ll.h | 5 +-- src/misc/lv_log.c | 3 +- src/misc/lv_log.h | 1 - src/misc/lv_lru.c | 4 +- src/misc/lv_lru.h | 3 -- src/misc/lv_math.h | 1 - src/misc/lv_palette.h | 3 +- src/misc/lv_profiler_builtin.h | 4 +- src/misc/lv_rb.h | 2 +- src/misc/lv_style.h | 2 - src/misc/lv_text.c | 2 +- src/misc/lv_text.h | 4 +- src/misc/lv_text_ap.c | 2 +- src/misc/lv_text_ap.h | 2 +- src/misc/lv_timer.h | 3 -- src/misc/lv_types.h | 7 +++- src/misc/lv_utils.c | 3 +- src/misc/lv_utils.h | 2 - src/osal/lv_os.h | 1 - src/others/ime/lv_ime_pinyin.c | 5 +-- src/stdlib/builtin/lv_string_builtin.c | 23 +++++++++- src/stdlib/builtin/lv_tlsf.c | 2 +- src/stdlib/builtin/lv_tlsf.h | 3 +- src/stdlib/clib/lv_string_clib.c | 10 +++++ src/stdlib/lv_mem.h | 4 +- src/stdlib/lv_sprintf.h | 8 ++-- src/stdlib/lv_string.h | 21 +++++++++- src/stdlib/rtthread/lv_string_rtthread.c | 17 +++++--- src/tick/lv_tick.c | 2 +- src/tick/lv_tick.h | 3 +- src/widgets/buttonmatrix/lv_buttonmatrix.c | 10 ++--- src/widgets/dropdown/lv_dropdown.c | 5 +-- src/widgets/keyboard/lv_keyboard.c | 2 - src/widgets/label/lv_label.h | 2 +- src/widgets/line/lv_line.c | 4 +- src/widgets/span/lv_span.c | 4 +- src/widgets/table/lv_table.c | 4 +- src/widgets/textarea/lv_textarea.c | 1 - tests/src/test_assets/test_kern_one_otf.c | 1 - tests/src/test_cases/libs/test_qrcode.c | 1 + tests/src/test_cases/test_fs.c | 1 + tests/src/test_cases/test_profiler.c | 1 + tests/src/test_cases/test_txt.c | 1 + tests/src/test_cases/widgets/test_dropdown.c | 1 + tests/src/test_cases/widgets/test_label.c | 1 + tests/src/test_cases/widgets/test_objid.c | 1 + tests/src/test_cases/widgets/test_roller.c | 1 + 100 files changed, 210 insertions(+), 167 deletions(-) diff --git a/demos/flex_layout/lv_demo_flex_layout_main.h b/demos/flex_layout/lv_demo_flex_layout_main.h index 4e7dd05f5d..bd3514cdb5 100644 --- a/demos/flex_layout/lv_demo_flex_layout_main.h +++ b/demos/flex_layout/lv_demo_flex_layout_main.h @@ -20,7 +20,9 @@ extern "C" { * DEFINES *********************/ +#ifndef ARRAY_SIZE #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) +#endif /********************** * TYPEDEFS diff --git a/demos/keypad_encoder/lv_demo_keypad_encoder.c b/demos/keypad_encoder/lv_demo_keypad_encoder.c index 36e1b067f8..26979ef525 100644 --- a/demos/keypad_encoder/lv_demo_keypad_encoder.c +++ b/demos/keypad_encoder/lv_demo_keypad_encoder.c @@ -203,7 +203,7 @@ static void ta_event_cb(lv_event_t * e) lv_keyboard_set_textarea(kb, ta); lv_obj_remove_flag(kb, LV_OBJ_FLAG_HIDDEN); lv_group_focus_obj(kb); - lv_group_set_editing(lv_obj_get_group(kb), kb); + lv_group_set_editing(lv_obj_get_group(kb), kb != NULL); lv_obj_set_height(tv, LV_VER_RES / 2); lv_obj_align(kb, LV_ALIGN_BOTTOM_MID, 0, 0); } diff --git a/demos/multilang/assets/img_multilang_like.c b/demos/multilang/assets/img_multilang_like.c index a0a960a216..a37584a1a4 100644 --- a/demos/multilang/assets/img_multilang_like.c +++ b/demos/multilang/assets/img_multilang_like.c @@ -12,7 +12,7 @@ #include "lvgl/lvgl.h" #endif -#if LV_USE_DEMO_MULTILANG +#if defined(LV_USE_DEMO_MULTILANG) || defined(LV_USE_DEMO_TRANSFORM) #ifndef LV_ATTRIBUTE_MEM_ALIGN #define LV_ATTRIBUTE_MEM_ALIGN diff --git a/examples/libs/qrcode/lv_example_qrcode_1.c b/examples/libs/qrcode/lv_example_qrcode_1.c index 400db012ad..3a9f87ce63 100644 --- a/examples/libs/qrcode/lv_example_qrcode_1.c +++ b/examples/libs/qrcode/lv_example_qrcode_1.c @@ -1,5 +1,6 @@ #include "../../lv_examples.h" #if LV_USE_QRCODE && LV_BUILD_EXAMPLES +#include /** * Create a QR Code diff --git a/examples/others/observer/lv_example_observer_2.c b/examples/others/observer/lv_example_observer_2.c index 766541e4cc..fdd23f0f80 100644 --- a/examples/others/observer/lv_example_observer_2.c +++ b/examples/others/observer/lv_example_observer_2.c @@ -59,7 +59,7 @@ static lv_subject_t auth_state_subject; static void textarea_event_cb(lv_event_t * e) { lv_obj_t * ta = lv_event_get_target(e); - if(strcmp(lv_textarea_get_text(ta), "hello") == 0) { + if(lv_strcmp(lv_textarea_get_text(ta), "hello") == 0) { lv_subject_set_int(&auth_state_subject, LOGGED_IN); } else { diff --git a/examples/widgets/textarea/lv_example_textarea_1.c b/examples/widgets/textarea/lv_example_textarea_1.c index ba82e52cc0..1eab27ec84 100644 --- a/examples/widgets/textarea/lv_example_textarea_1.c +++ b/examples/widgets/textarea/lv_example_textarea_1.c @@ -14,8 +14,8 @@ static void btnm_event_handler(lv_event_t * e) lv_obj_t * ta = lv_event_get_user_data(e); const char * txt = lv_buttonmatrix_get_button_text(obj, lv_buttonmatrix_get_selected_button(obj)); - if(strcmp(txt, LV_SYMBOL_BACKSPACE) == 0) lv_textarea_delete_char(ta); - else if(strcmp(txt, LV_SYMBOL_NEW_LINE) == 0) lv_obj_send_event(ta, LV_EVENT_READY, NULL); + if(lv_strcmp(txt, LV_SYMBOL_BACKSPACE) == 0) lv_textarea_delete_char(ta); + else if(lv_strcmp(txt, LV_SYMBOL_NEW_LINE) == 0) lv_obj_send_event(ta, LV_EVENT_READY, NULL); else lv_textarea_add_text(ta, txt); } diff --git a/lv_conf_template.h b/lv_conf_template.h index 64dcc9eafb..1a2f8535f9 100644 --- a/lv_conf_template.h +++ b/lv_conf_template.h @@ -44,6 +44,12 @@ #define LV_USE_STDLIB_STRING LV_STDLIB_BUILTIN #define LV_USE_STDLIB_SPRINTF LV_STDLIB_BUILTIN +#define LV_STDINT_INCLUDE +#define LV_STDDEF_INCLUDE +#define LV_STDBOOL_INCLUDE +#define LV_INTTYPES_INCLUDE +#define LV_LIMITS_INCLUDE +#define LV_STDARG_INCLUDE #if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN /*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/ diff --git a/src/core/lv_global.h b/src/core/lv_global.h index 3fa568f289..6d7e8233f9 100644 --- a/src/core/lv_global.h +++ b/src/core/lv_global.h @@ -15,8 +15,6 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include - #include "../misc/lv_types.h" #include "../draw/lv_draw.h" #if LV_USE_DRAW_SW @@ -39,6 +37,8 @@ extern "C" { #include "../tick/lv_tick.h" #include "../layouts/lv_layout.h" +#include "../misc/lv_types.h" + /********************* * DEFINES *********************/ diff --git a/src/core/lv_group.c b/src/core/lv_group.c index 44b41d8b27..6cc5671f90 100644 --- a/src/core/lv_group.c +++ b/src/core/lv_group.c @@ -6,12 +6,11 @@ /********************* * INCLUDES *********************/ -#include - #include "lv_group.h" #include "../core/lv_obj.h" #include "../core/lv_global.h" #include "../indev/lv_indev.h" +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/core/lv_group.h b/src/core/lv_group.h index ca60edb129..f05f9e19ed 100644 --- a/src/core/lv_group.h +++ b/src/core/lv_group.h @@ -13,11 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ - #include "../lv_conf_internal.h" -#include -#include #include "../misc/lv_types.h" #include "../misc/lv_ll.h" diff --git a/src/core/lv_obj.c b/src/core/lv_obj.c index f05b53854d..682706ed38 100644 --- a/src/core/lv_obj.c +++ b/src/core/lv_obj.c @@ -17,10 +17,9 @@ #include "../misc/lv_assert.h" #include "../misc/lv_math.h" #include "../misc/lv_log.h" +#include "../misc/lv_types.h" #include "../tick/lv_tick.h" #include "../stdlib/lv_string.h" -#include -#include /********************* * DEFINES diff --git a/src/core/lv_obj.h b/src/core/lv_obj.h index b67684f323..587982348c 100644 --- a/src/core/lv_obj.h +++ b/src/core/lv_obj.h @@ -15,8 +15,6 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include -#include #include "../misc/lv_types.h" #include "../misc/lv_style.h" #include "../misc/lv_area.h" diff --git a/src/core/lv_obj_class.h b/src/core/lv_obj_class.h index 7292292242..ec32e7efda 100644 --- a/src/core/lv_obj_class.h +++ b/src/core/lv_obj_class.h @@ -13,8 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "../misc/lv_types.h" #include "../misc/lv_area.h" #include "lv_obj_property.h" diff --git a/src/core/lv_obj_event.h b/src/core/lv_obj_event.h index 40a002d8a6..3b32b20f08 100644 --- a/src/core/lv_obj_event.h +++ b/src/core/lv_obj_event.h @@ -13,7 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include #include "../misc/lv_types.h" #include "../misc/lv_event.h" #include "../indev/lv_indev.h" diff --git a/src/core/lv_obj_style.h b/src/core/lv_obj_style.h index 56639492f0..2de0472176 100644 --- a/src/core/lv_obj_style.h +++ b/src/core/lv_obj_style.h @@ -13,10 +13,9 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "../misc/lv_bidi.h" #include "../misc/lv_style.h" +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/core/lv_obj_tree.c b/src/core/lv_obj_tree.c index 5b8fd420b1..8da23ad9a3 100644 --- a/src/core/lv_obj_tree.c +++ b/src/core/lv_obj_tree.c @@ -6,8 +6,6 @@ /********************* * INCLUDES *********************/ -#include - #include "lv_obj.h" #include "../indev/lv_indev.h" #include "../indev/lv_indev_private.h" diff --git a/src/core/lv_obj_tree.h b/src/core/lv_obj_tree.h index c500c7956e..3cee6e66a0 100644 --- a/src/core/lv_obj_tree.h +++ b/src/core/lv_obj_tree.h @@ -13,8 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "../misc/lv_types.h" #include "../misc/lv_anim.h" #include "../display/lv_display.h" diff --git a/src/core/lv_refr.c b/src/core/lv_refr.c index fbd1c8a878..1dfbab79f4 100644 --- a/src/core/lv_refr.c +++ b/src/core/lv_refr.c @@ -6,7 +6,6 @@ /********************* * INCLUDES *********************/ -#include #include "lv_refr.h" #include "../display/lv_display.h" #include "../display/lv_display_private.h" @@ -14,6 +13,7 @@ #include "../misc/lv_timer.h" #include "../misc/lv_math.h" #include "../misc/lv_profiler.h" +#include "../misc/lv_types.h" #include "../draw/lv_draw.h" #include "../font/lv_font_fmt_txt.h" #include "../stdlib/lv_string.h" diff --git a/src/core/lv_refr.h b/src/core/lv_refr.h index 537b9eedd0..ddfa61c179 100644 --- a/src/core/lv_refr.h +++ b/src/core/lv_refr.h @@ -15,7 +15,7 @@ extern "C" { *********************/ #include "lv_obj.h" #include "../display/lv_display.h" -#include +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/draw/lv_draw_line.c b/src/draw/lv_draw_line.c index f906699c13..06a464a88e 100644 --- a/src/draw/lv_draw_line.c +++ b/src/draw/lv_draw_line.c @@ -6,9 +6,9 @@ /********************* * INCLUDES *********************/ -#include #include "../core/lv_refr.h" #include "../misc/lv_math.h" +#include "../misc/lv_types.h" #include "../stdlib/lv_string.h" /********************* diff --git a/src/draw/lv_draw_mask.c b/src/draw/lv_draw_mask.c index ed1ff2b449..11cdaf2874 100644 --- a/src/draw/lv_draw_mask.c +++ b/src/draw/lv_draw_mask.c @@ -6,10 +6,10 @@ /********************* * INCLUDES *********************/ -#include #include "lv_draw_mask.h" #include "../core/lv_refr.h" #include "../misc/lv_math.h" +#include "../misc/lv_types.h" #include "../stdlib/lv_string.h" /********************* diff --git a/src/draw/lv_draw_vector.c b/src/draw/lv_draw_vector.c index 5b8d66e993..9ff61622b1 100644 --- a/src/draw/lv_draw_vector.c +++ b/src/draw/lv_draw_vector.c @@ -11,8 +11,8 @@ #if LV_USE_VECTOR_GRAPHIC #include "../misc/lv_ll.h" +#include "../misc/lv_types.h" #include "../stdlib/lv_string.h" -#include #include #include diff --git a/src/draw/lv_image_decoder.h b/src/draw/lv_image_decoder.h index b1f28be868..053cbddbd1 100644 --- a/src/draw/lv_image_decoder.h +++ b/src/draw/lv_image_decoder.h @@ -15,7 +15,6 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include #include "lv_draw_buf.h" #include "../misc/lv_fs.h" #include "../misc/lv_types.h" diff --git a/src/draw/sw/lv_draw_sw_line.c b/src/draw/sw/lv_draw_sw_line.c index aa5bd622df..1dca84538c 100644 --- a/src/draw/sw/lv_draw_sw_line.c +++ b/src/draw/sw/lv_draw_sw_line.c @@ -6,11 +6,12 @@ /********************* * INCLUDES *********************/ -#include #include "lv_draw_sw.h" + #if LV_USE_DRAW_SW #include "../../misc/lv_math.h" +#include "../../misc/lv_types.h" #include "../../core/lv_refr.h" #include "../../stdlib/lv_string.h" diff --git a/src/draw/sw/lv_draw_sw_mask.h b/src/draw/sw/lv_draw_sw_mask.h index 65290375ff..17b7dedd7d 100644 --- a/src/draw/sw/lv_draw_sw_mask.h +++ b/src/draw/sw/lv_draw_sw_mask.h @@ -13,10 +13,10 @@ extern "C" { /********************* * INCLUDES *********************/ -#include #include "../../misc/lv_area.h" #include "../../misc/lv_color.h" #include "../../misc/lv_math.h" +#include "../../misc/lv_types.h" /********************* * DEFINES diff --git a/src/draw/vg_lite/lv_draw_buf_vg_lite.c b/src/draw/vg_lite/lv_draw_buf_vg_lite.c index 65b085ca07..9cf708a0fa 100644 --- a/src/draw/vg_lite/lv_draw_buf_vg_lite.c +++ b/src/draw/vg_lite/lv_draw_buf_vg_lite.c @@ -12,6 +12,7 @@ #if LV_USE_DRAW_VG_LITE #include "lv_vg_lite_utils.h" +#include /********************* * DEFINES diff --git a/src/draw/vg_lite/lv_vg_lite_decoder.c b/src/draw/vg_lite/lv_vg_lite_decoder.c index 27fb8614f2..87d05f9fdb 100644 --- a/src/draw/vg_lite/lv_vg_lite_decoder.c +++ b/src/draw/vg_lite/lv_vg_lite_decoder.c @@ -12,6 +12,8 @@ #if LV_USE_DRAW_VG_LITE #include "lv_vg_lite_utils.h" +#include +#include /********************* * DEFINES diff --git a/src/draw/vg_lite/lv_vg_lite_grad.c b/src/draw/vg_lite/lv_vg_lite_grad.c index 526867190b..83b68f8588 100644 --- a/src/draw/vg_lite/lv_vg_lite_grad.c +++ b/src/draw/vg_lite/lv_vg_lite_grad.c @@ -13,6 +13,8 @@ #include "lv_draw_vg_lite_type.h" #include "lv_vg_lite_pending.h" +#include "../../misc/lv_types.h" +#include "../../stdlib/lv_string.h" /********************* * DEFINES @@ -236,8 +238,8 @@ static lv_cache_compare_res_t grad_compare_cb(const grad_item_t * lhs, const gra return lhs->lv_grad.stops_count > rhs->lv_grad.stops_count ? 1 : -1; } - int cmp_res = memcmp(lhs->lv_grad.stops, rhs->lv_grad.stops, - sizeof(lv_gradient_stop_t) * lhs->lv_grad.stops_count); + int cmp_res = lv_memcmp(lhs->lv_grad.stops, rhs->lv_grad.stops, + sizeof(lv_gradient_stop_t) * lhs->lv_grad.stops_count); if(cmp_res != 0) { return cmp_res > 0 ? 1 : -1; } diff --git a/src/drivers/display/drm/lv_linux_drm.c b/src/drivers/display/drm/lv_linux_drm.c index faa2212bf2..99f3405d5c 100644 --- a/src/drivers/display/drm/lv_linux_drm.c +++ b/src/drivers/display/drm/lv_linux_drm.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include diff --git a/src/drivers/libinput/lv_libinput.c b/src/drivers/libinput/lv_libinput.c index f207fa4776..ff75a2a78c 100644 --- a/src/drivers/libinput/lv_libinput.c +++ b/src/drivers/libinput/lv_libinput.c @@ -22,6 +22,7 @@ #include #include #include +#include #if LV_LIBINPUT_BSD #include diff --git a/src/font/lv_binfont_loader.c b/src/font/lv_binfont_loader.c index f121f4048a..4b06e6ccfe 100644 --- a/src/font/lv_binfont_loader.c +++ b/src/font/lv_binfont_loader.c @@ -6,12 +6,10 @@ /********************* * INCLUDES *********************/ - -#include -#include - #include "../lvgl.h" #include "../misc/lv_fs.h" +#include "../misc/lv_types.h" +#include "../stdlib/lv_string.h" #include "lv_binfont_loader.h" /********************** @@ -208,7 +206,7 @@ static int read_label(lv_fs_file_t * fp, int start, const char * label) if(lv_fs_read(fp, &length, 4, NULL) != LV_FS_RES_OK || lv_fs_read(fp, buf, 4, NULL) != LV_FS_RES_OK - || memcmp(label, buf, 4) != 0) { + || lv_memcmp(label, buf, 4) != 0) { LV_LOG_WARN("Error reading '%s' label.", label); return -1; } @@ -298,7 +296,7 @@ static int32_t load_cmaps(lv_fs_file_t * fp, lv_font_fmt_txt_dsc_t * font_dsc, u lv_font_fmt_txt_cmap_t * cmaps = lv_malloc(cmaps_subtables_count * sizeof(lv_font_fmt_txt_cmap_t)); - memset(cmaps, 0, cmaps_subtables_count * sizeof(lv_font_fmt_txt_cmap_t)); + lv_memset(cmaps, 0, cmaps_subtables_count * sizeof(lv_font_fmt_txt_cmap_t)); font_dsc->cmaps = cmaps; font_dsc->cmap_num = cmaps_subtables_count; @@ -323,7 +321,7 @@ static int32_t load_glyph(lv_fs_file_t * fp, lv_font_fmt_txt_dsc_t * font_dsc, lv_font_fmt_txt_glyph_dsc_t * glyph_dsc = (lv_font_fmt_txt_glyph_dsc_t *) lv_malloc(loca_count * sizeof(lv_font_fmt_txt_glyph_dsc_t)); - memset(glyph_dsc, 0, loca_count * sizeof(lv_font_fmt_txt_glyph_dsc_t)); + lv_memset(glyph_dsc, 0, loca_count * sizeof(lv_font_fmt_txt_glyph_dsc_t)); font_dsc->glyph_dsc = glyph_dsc; @@ -462,7 +460,7 @@ static bool lvgl_load_font(lv_fs_file_t * fp, lv_font_t * font) lv_font_fmt_txt_dsc_t * font_dsc = (lv_font_fmt_txt_dsc_t *) lv_malloc(sizeof(lv_font_fmt_txt_dsc_t)); - memset(font_dsc, 0, sizeof(lv_font_fmt_txt_dsc_t)); + lv_memset(font_dsc, 0, sizeof(lv_font_fmt_txt_dsc_t)); font->dsc = font_dsc; @@ -579,7 +577,7 @@ int32_t load_kern(lv_fs_file_t * fp, lv_font_fmt_txt_dsc_t * font_dsc, uint8_t f if(0 == kern_format_type) { /*sorted pairs*/ lv_font_fmt_txt_kern_pair_t * kern_pair = lv_malloc(sizeof(lv_font_fmt_txt_kern_pair_t)); - memset(kern_pair, 0, sizeof(lv_font_fmt_txt_kern_pair_t)); + lv_memset(kern_pair, 0, sizeof(lv_font_fmt_txt_kern_pair_t)); font_dsc->kern_dsc = kern_pair; font_dsc->kern_classes = 0; @@ -617,7 +615,7 @@ int32_t load_kern(lv_fs_file_t * fp, lv_font_fmt_txt_dsc_t * font_dsc, uint8_t f lv_font_fmt_txt_kern_classes_t * kern_classes = lv_malloc(sizeof(lv_font_fmt_txt_kern_classes_t)); - memset(kern_classes, 0, sizeof(lv_font_fmt_txt_kern_classes_t)); + lv_memset(kern_classes, 0, sizeof(lv_font_fmt_txt_kern_classes_t)); font_dsc->kern_dsc = kern_classes; font_dsc->kern_classes = 1; diff --git a/src/font/lv_font.h b/src/font/lv_font.h index 85bdec1012..c28393365c 100644 --- a/src/font/lv_font.h +++ b/src/font/lv_font.h @@ -14,14 +14,11 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" -#include -#include -#include +#include "../misc/lv_types.h" #include "lv_symbol_def.h" #include "../draw/lv_draw_buf.h" #include "../misc/lv_area.h" -#include "../misc/lv_types.h" #include "../misc/cache/lv_cache.h" /********************* diff --git a/src/font/lv_font_fmt_txt.h b/src/font/lv_font_fmt_txt.h index 76bade0656..bd434d90eb 100644 --- a/src/font/lv_font_fmt_txt.h +++ b/src/font/lv_font_fmt_txt.h @@ -13,10 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include -#include #include "lv_font.h" +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/libs/libpng/lv_libpng.c b/src/libs/libpng/lv_libpng.c index 33ef3ab961..c0918fe523 100644 --- a/src/libs/libpng/lv_libpng.c +++ b/src/libs/libpng/lv_libpng.c @@ -11,6 +11,7 @@ #include "lv_libpng.h" #include +#include /********************* * DEFINES diff --git a/src/libs/rlottie/lv_rlottie.c b/src/libs/rlottie/lv_rlottie.c index f595215f59..672fd28d79 100644 --- a/src/libs/rlottie/lv_rlottie.c +++ b/src/libs/rlottie/lv_rlottie.c @@ -10,6 +10,7 @@ #if LV_USE_RLOTTIE #include +#include /********************* * DEFINES diff --git a/src/libs/tjpgd/lv_tjpgd.c b/src/libs/tjpgd/lv_tjpgd.c index 2185c28284..b13cd12ae7 100644 --- a/src/libs/tjpgd/lv_tjpgd.c +++ b/src/libs/tjpgd/lv_tjpgd.c @@ -13,6 +13,7 @@ #include "tjpgd.h" #include "lv_tjpgd.h" #include "../../misc/lv_fs.h" +#include /********************* * DEFINES diff --git a/src/lv_conf_internal.h b/src/lv_conf_internal.h index d6d7fd0d89..4feb0edb0a 100644 --- a/src/lv_conf_internal.h +++ b/src/lv_conf_internal.h @@ -124,6 +124,48 @@ #endif #endif +#ifndef LV_STDINT_INCLUDE + #ifdef CONFIG_LV_STDINT_INCLUDE + #define LV_STDINT_INCLUDE CONFIG_LV_STDINT_INCLUDE + #else + #define LV_STDINT_INCLUDE + #endif +#endif +#ifndef LV_STDDEF_INCLUDE + #ifdef CONFIG_LV_STDDEF_INCLUDE + #define LV_STDDEF_INCLUDE CONFIG_LV_STDDEF_INCLUDE + #else + #define LV_STDDEF_INCLUDE + #endif +#endif +#ifndef LV_STDBOOL_INCLUDE + #ifdef CONFIG_LV_STDBOOL_INCLUDE + #define LV_STDBOOL_INCLUDE CONFIG_LV_STDBOOL_INCLUDE + #else + #define LV_STDBOOL_INCLUDE + #endif +#endif +#ifndef LV_INTTYPES_INCLUDE + #ifdef CONFIG_LV_INTTYPES_INCLUDE + #define LV_INTTYPES_INCLUDE CONFIG_LV_INTTYPES_INCLUDE + #else + #define LV_INTTYPES_INCLUDE + #endif +#endif +#ifndef LV_LIMITS_INCLUDE + #ifdef CONFIG_LV_LIMITS_INCLUDE + #define LV_LIMITS_INCLUDE CONFIG_LV_LIMITS_INCLUDE + #else + #define LV_LIMITS_INCLUDE + #endif +#endif +#ifndef LV_STDARG_INCLUDE + #ifdef CONFIG_LV_STDARG_INCLUDE + #define LV_STDARG_INCLUDE CONFIG_LV_STDARG_INCLUDE + #else + #define LV_STDARG_INCLUDE + #endif +#endif #if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN /*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/ diff --git a/src/lv_init.h b/src/lv_init.h index e5b551f052..0815142cbf 100644 --- a/src/lv_init.h +++ b/src/lv_init.h @@ -13,8 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ -#include #include "lv_conf_internal.h" +#include "misc/lv_types.h" /********************* * DEFINES diff --git a/src/misc/cache/lv_cache.h b/src/misc/cache/lv_cache.h index cfa247dcdc..025cb99a9e 100644 --- a/src/misc/cache/lv_cache.h +++ b/src/misc/cache/lv_cache.h @@ -15,8 +15,7 @@ extern "C" { *********************/ #include "lv_cache_entry.h" #include "lv_cache_private.h" -#include -#include +#include "../lv_types.h" #include "_lv_cache_lru_rb.h" diff --git a/src/misc/cache/lv_cache_entry.h b/src/misc/cache/lv_cache_entry.h index 0cd2fb2e1d..72997a70ec 100644 --- a/src/misc/cache/lv_cache_entry.h +++ b/src/misc/cache/lv_cache_entry.h @@ -16,8 +16,6 @@ extern "C" { #include "../../osal/lv_os.h" #include "../lv_types.h" #include "lv_cache_private.h" -#include -#include /********************* * DEFINES *********************/ diff --git a/src/misc/cache/lv_cache_entry_private.h b/src/misc/cache/lv_cache_entry_private.h index 227585e1ea..2bfb1acb70 100644 --- a/src/misc/cache/lv_cache_entry_private.h +++ b/src/misc/cache/lv_cache_entry_private.h @@ -14,8 +14,6 @@ extern "C" { * INCLUDES *********************/ #include "../lv_types.h" -#include -#include #include "../../osal/lv_os.h" /********************* * DEFINES diff --git a/src/misc/cache/lv_cache_private.h b/src/misc/cache/lv_cache_private.h index 4dbafd17e6..41967e45fc 100644 --- a/src/misc/cache/lv_cache_private.h +++ b/src/misc/cache/lv_cache_private.h @@ -14,8 +14,6 @@ extern "C" { * INCLUDES *********************/ #include "../lv_types.h" -#include -#include #include "../../osal/lv_os.h" /********************* diff --git a/src/misc/lv_anim.h b/src/misc/lv_anim.h index bff3b33a44..4df8e024d2 100644 --- a/src/misc/lv_anim.h +++ b/src/misc/lv_anim.h @@ -19,10 +19,6 @@ extern "C" { #include "lv_timer.h" #include "lv_ll.h" -#include -#include -#include - /********************* * DEFINES *********************/ diff --git a/src/misc/lv_area.h b/src/misc/lv_area.h index 376ab9f6ec..90df8249fb 100644 --- a/src/misc/lv_area.h +++ b/src/misc/lv_area.h @@ -15,9 +15,6 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" #include "lv_types.h" -#include -#include -#include /********************* * DEFINES diff --git a/src/misc/lv_array.h b/src/misc/lv_array.h index 3cdb1c6c67..9eaa6e86e5 100644 --- a/src/misc/lv_array.h +++ b/src/misc/lv_array.h @@ -13,10 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include -#include - #include "lv_types.h" /********************* diff --git a/src/misc/lv_bidi.c b/src/misc/lv_bidi.c index 1fa374dfcd..11de69bb21 100644 --- a/src/misc/lv_bidi.c +++ b/src/misc/lv_bidi.c @@ -6,9 +6,9 @@ /********************* * INCLUDES *********************/ -#include #include "lv_bidi.h" #include "lv_text.h" +#include "lv_types.h" #include "../stdlib/lv_mem.h" #include "../stdlib/lv_string.h" diff --git a/src/misc/lv_bidi.h b/src/misc/lv_bidi.h index e5b19c295d..8fcd1b6d98 100644 --- a/src/misc/lv_bidi.h +++ b/src/misc/lv_bidi.h @@ -14,9 +14,7 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" - -#include -#include +#include "lv_types.h" #include "lv_text.h" /********************* diff --git a/src/misc/lv_color.h b/src/misc/lv_color.h index 943234490f..c594ef747b 100644 --- a/src/misc/lv_color.h +++ b/src/misc/lv_color.h @@ -17,8 +17,6 @@ extern "C" { #include "lv_assert.h" #include "lv_math.h" #include "lv_types.h" -#include -#include /********************* * DEFINES diff --git a/src/misc/lv_color_op.h b/src/misc/lv_color_op.h index 1109c9c2cf..e16510abc1 100644 --- a/src/misc/lv_color_op.h +++ b/src/misc/lv_color_op.h @@ -16,7 +16,7 @@ extern "C" { #include "lv_assert.h" #include "lv_math.h" #include "lv_color.h" -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_event.c b/src/misc/lv_event.c index e991ec0fab..00f16f62b1 100644 --- a/src/misc/lv_event.c +++ b/src/misc/lv_event.c @@ -10,7 +10,7 @@ #include "../core/lv_global.h" #include "../stdlib/lv_mem.h" #include "lv_assert.h" -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_event.h b/src/misc/lv_event.h index 2eeb5cdf5e..ec33d149cb 100644 --- a/src/misc/lv_event.h +++ b/src/misc/lv_event.h @@ -13,8 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "lv_types.h" #include "../lv_conf_internal.h" diff --git a/src/misc/lv_fs.c b/src/misc/lv_fs.c index 921d306582..98c00cc1c2 100644 --- a/src/misc/lv_fs.c +++ b/src/misc/lv_fs.c @@ -8,7 +8,6 @@ *********************/ #include "lv_fs.h" -#include #include "../misc/lv_assert.h" #include "../stdlib/lv_string.h" #include "lv_ll.h" diff --git a/src/misc/lv_fs.h b/src/misc/lv_fs.h index ae29456efb..dfa004e81b 100644 --- a/src/misc/lv_fs.h +++ b/src/misc/lv_fs.h @@ -14,9 +14,7 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" - -#include -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_ll.h b/src/misc/lv_ll.h index 676e404fd2..4221b68fe9 100644 --- a/src/misc/lv_ll.h +++ b/src/misc/lv_ll.h @@ -13,9 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include -#include +#include "../lv_conf_internal.h" +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_log.c b/src/misc/lv_log.c index d72c11bd0b..cf7da050df 100644 --- a/src/misc/lv_log.c +++ b/src/misc/lv_log.c @@ -9,8 +9,7 @@ #include "lv_log.h" #if LV_USE_LOG -#include -#include +#include "../misc/lv_types.h" #include "../stdlib/lv_sprintf.h" #include "../stdlib/lv_mem.h" #include "../stdlib/lv_string.h" diff --git a/src/misc/lv_log.h b/src/misc/lv_log.h index 87ca3820ab..acf2643031 100644 --- a/src/misc/lv_log.h +++ b/src/misc/lv_log.h @@ -14,7 +14,6 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" -#include #include "lv_types.h" diff --git a/src/misc/lv_lru.c b/src/misc/lv_lru.c index 5f3618cf41..006584153f 100755 --- a/src/misc/lv_lru.c +++ b/src/misc/lv_lru.c @@ -164,7 +164,7 @@ lv_lru_res_t lv_lru_set(lv_lru_t * cache, const void * key, size_t key_length, v item = lv_lru_pop_or_create_item(cache); item->value = value; item->key = lv_malloc(key_length); - memcpy(item->key, key, key_length); + lv_memcpy(item->key, key, key_length); item->value_length = value_length; item->key_length = key_length; required = (int) value_length; @@ -303,7 +303,7 @@ static int lv_lru_cmp_keys(lv_lru_item_t * item, const void * key, uint32_t key_ return 1; } else { - return memcmp(key, item->key, key_length); + return lv_memcmp(key, item->key, key_length); } } diff --git a/src/misc/lv_lru.h b/src/misc/lv_lru.h index 02172d2024..f9c11182de 100755 --- a/src/misc/lv_lru.h +++ b/src/misc/lv_lru.h @@ -18,9 +18,6 @@ extern "C" { #include "lv_types.h" -#include -#include - /********************* * DEFINES *********************/ diff --git a/src/misc/lv_math.h b/src/misc/lv_math.h index d1a543d3d1..1055b8f784 100644 --- a/src/misc/lv_math.h +++ b/src/misc/lv_math.h @@ -14,7 +14,6 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" -#include #include "lv_types.h" /********************* diff --git a/src/misc/lv_palette.h b/src/misc/lv_palette.h index fedac9eee1..39b5cd71f4 100644 --- a/src/misc/lv_palette.h +++ b/src/misc/lv_palette.h @@ -14,8 +14,7 @@ extern "C" { * INCLUDES *********************/ #include "lv_color.h" -#include -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_profiler_builtin.h b/src/misc/lv_profiler_builtin.h index ac79f8e6fe..5cf2ea1055 100644 --- a/src/misc/lv_profiler_builtin.h +++ b/src/misc/lv_profiler_builtin.h @@ -18,9 +18,7 @@ extern "C" { #if LV_USE_PROFILER && LV_USE_PROFILER_BUILTIN -#include -#include -#include +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_rb.h b/src/misc/lv_rb.h index 1533cea75f..dcfacadfbe 100755 --- a/src/misc/lv_rb.h +++ b/src/misc/lv_rb.h @@ -14,8 +14,8 @@ extern "C" { * INCLUDES *********************/ #include "lv_types.h" -#include "stdbool.h" #include "lv_assert.h" +#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_style.h b/src/misc/lv_style.h index 5c69e59899..bca6c42654 100644 --- a/src/misc/lv_style.h +++ b/src/misc/lv_style.h @@ -13,8 +13,6 @@ extern "C" { /********************* * INCLUDES *********************/ -#include -#include #include "../font/lv_font.h" #include "lv_color.h" #include "lv_area.h" diff --git a/src/misc/lv_text.c b/src/misc/lv_text.c index b9e96de6e2..9b89effb9a 100644 --- a/src/misc/lv_text.c +++ b/src/misc/lv_text.c @@ -6,7 +6,6 @@ /********************* * INCLUDES *********************/ -#include #include "lv_text.h" #include "lv_text_ap.h" #include "lv_math.h" @@ -14,6 +13,7 @@ #include "lv_assert.h" #include "../stdlib/lv_mem.h" #include "../stdlib/lv_string.h" +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_text.h b/src/misc/lv_text.h index b2eddab4e3..aba2aade0e 100644 --- a/src/misc/lv_text.h +++ b/src/misc/lv_text.h @@ -15,12 +15,10 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include -#include +#include "lv_types.h" #include "lv_area.h" #include "../font/lv_font.h" #include "../stdlib/lv_sprintf.h" -#include "lv_types.h" /********************* * DEFINES diff --git a/src/misc/lv_text_ap.c b/src/misc/lv_text_ap.c index 95e0dd772e..8a38d23c05 100644 --- a/src/misc/lv_text_ap.c +++ b/src/misc/lv_text_ap.c @@ -6,10 +6,10 @@ /********************* * INCLUDES *********************/ -#include #include "lv_bidi.h" #include "lv_text.h" #include "lv_text_ap.h" +#include "lv_types.h" #include "../stdlib/lv_mem.h" #include "../draw/lv_draw.h" diff --git a/src/misc/lv_text_ap.h b/src/misc/lv_text_ap.h index df6357fc91..1530190a2c 100644 --- a/src/misc/lv_text_ap.h +++ b/src/misc/lv_text_ap.h @@ -13,8 +13,8 @@ extern "C" { /********************* * INCLUDES *********************/ -#include #include "lv_text.h" +#include "lv_types.h" #include "../draw/lv_draw.h" #if LV_USE_ARABIC_PERSIAN_CHARS == 1 diff --git a/src/misc/lv_timer.h b/src/misc/lv_timer.h index 06576a853b..119b8bc9a0 100644 --- a/src/misc/lv_timer.h +++ b/src/misc/lv_timer.h @@ -17,9 +17,6 @@ extern "C" { #include "lv_types.h" #include "lv_ll.h" -#include -#include - /********************* * DEFINES *********************/ diff --git a/src/misc/lv_types.h b/src/misc/lv_types.h index 1b992c1507..3bd3121bd7 100644 --- a/src/misc/lv_types.h +++ b/src/misc/lv_types.h @@ -16,7 +16,12 @@ extern "C" { #include "../lv_conf_internal.h" #ifndef __ASSEMBLY__ -#include +#include LV_STDINT_INCLUDE +#include LV_STDDEF_INCLUDE +#include LV_STDBOOL_INCLUDE +#include LV_INTTYPES_INCLUDE +#include LV_LIMITS_INCLUDE +#include LV_STDARG_INCLUDE #endif /********************* diff --git a/src/misc/lv_utils.c b/src/misc/lv_utils.c index 2eb02afc7c..8861d894ba 100644 --- a/src/misc/lv_utils.c +++ b/src/misc/lv_utils.c @@ -6,10 +6,9 @@ /********************* * INCLUDES *********************/ -#include - #include "lv_utils.h" #include "lv_fs.h" +#include "lv_types.h" #include "cache/lv_image_cache.h" /********************* diff --git a/src/misc/lv_utils.h b/src/misc/lv_utils.h index 8422cf8d7c..7b28ae17af 100644 --- a/src/misc/lv_utils.h +++ b/src/misc/lv_utils.h @@ -17,8 +17,6 @@ extern "C" { #include "lv_types.h" #include "../draw/lv_draw_buf.h" -#include - /********************* * DEFINES *********************/ diff --git a/src/osal/lv_os.h b/src/osal/lv_os.h index 9b3254fc23..7cfca82160 100644 --- a/src/osal/lv_os.h +++ b/src/osal/lv_os.h @@ -20,7 +20,6 @@ extern "C" { #include "../lv_conf_internal.h" #include "../misc/lv_types.h" -#include #if LV_USE_OS == LV_OS_NONE #include "lv_os_none.h" diff --git a/src/others/ime/lv_ime_pinyin.c b/src/others/ime/lv_ime_pinyin.c index 1cb6a5e545..04155036c8 100644 --- a/src/others/ime/lv_ime_pinyin.c +++ b/src/others/ime/lv_ime_pinyin.c @@ -9,7 +9,6 @@ #include "lv_ime_pinyin.h" #if LV_USE_IME_PINYIN != 0 -#include #include "../../lvgl.h" /********************* @@ -627,7 +626,7 @@ static void lv_ime_pinyin_kb_event(lv_event_t * e) uint16_t tmp_button_str_len = lv_strlen(pinyin_ime->input_char); if((btn_id >= 16) && (tmp_button_str_len > 0) && (btn_id < (16 + LV_IME_PINYIN_K9_CAND_TEXT_NUM))) { lv_memzero(pinyin_ime->input_char, sizeof(pinyin_ime->input_char)); - strcat(pinyin_ime->input_char, txt); + lv_strcat(pinyin_ime->input_char, txt); pinyin_input_proc(obj); for(int index = 0; index < (pinyin_ime->ta_count + tmp_button_str_len); index++) { @@ -706,7 +705,7 @@ static void lv_ime_pinyin_kb_event(lv_event_t * e) } else if((pinyin_ime->mode == LV_IME_PINYIN_MODE_K26) && ((txt[0] >= 'a' && txt[0] <= 'z') || (txt[0] >= 'A' && txt[0] <= 'Z'))) { - strcat(pinyin_ime->input_char, txt); + lv_strcat(pinyin_ime->input_char, txt); pinyin_input_proc(obj); pinyin_ime->ta_count++; } diff --git a/src/stdlib/builtin/lv_string_builtin.c b/src/stdlib/builtin/lv_string_builtin.c index a033a78b9b..5cb4f987cf 100644 --- a/src/stdlib/builtin/lv_string_builtin.c +++ b/src/stdlib/builtin/lv_string_builtin.c @@ -171,6 +171,17 @@ void * LV_ATTRIBUTE_FAST_MEM lv_memmove(void * dst, const void * src, size_t len return dst; } +int32_t lv_memcmp(const void * p1, const void * p2, size_t len) +{ + const char * s1 = (const char *) p1; + const char * s2 = (const char *) p2; + while(--len > 0 && (*s1 == *s2)) { + s1++; + s2++; + } + return *s1 - *s2; +} + /* See https://en.cppreference.com/w/c/string/byte/strlen for reference */ size_t lv_strlen(const char * str) { @@ -212,10 +223,20 @@ char * lv_strdup(const char * src) 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*/ + lv_memcpy(dst, src, len); /*memcpy is faster than strncpy when length is known*/ return dst; } +char * lv_strcat(char * dst, const char * src) +{ + char * tmp = dst; + while(*dst != '\0') { + dst++; + } + lv_strcpy(dst, src); + return tmp; +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/stdlib/builtin/lv_tlsf.c b/src/stdlib/builtin/lv_tlsf.c index 8910b05efa..3d83b8dc47 100644 --- a/src/stdlib/builtin/lv_tlsf.c +++ b/src/stdlib/builtin/lv_tlsf.c @@ -1,11 +1,11 @@ #include "../../lv_conf_internal.h" #if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN -#include #include "lv_tlsf.h" #include "../../stdlib/lv_string.h" #include "../../misc/lv_log.h" #include "../../misc/lv_assert.h" +#include "../../misc/lv_types.h" #undef printf #define printf LV_LOG_ERROR diff --git a/src/stdlib/builtin/lv_tlsf.h b/src/stdlib/builtin/lv_tlsf.h index 98126636a8..002e56e18b 100644 --- a/src/stdlib/builtin/lv_tlsf.h +++ b/src/stdlib/builtin/lv_tlsf.h @@ -41,10 +41,9 @@ ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include - #include "../../osal/lv_os.h" #include "../../misc/lv_ll.h" +#include "../../misc/lv_types.h" #if defined(__cplusplus) extern "C" { diff --git a/src/stdlib/clib/lv_string_clib.c b/src/stdlib/clib/lv_string_clib.c index 359b2e039c..d003b6b7a8 100644 --- a/src/stdlib/clib/lv_string_clib.c +++ b/src/stdlib/clib/lv_string_clib.c @@ -50,6 +50,11 @@ void * LV_ATTRIBUTE_FAST_MEM lv_memmove(void * dst, const void * src, size_t len return memmove(dst, src, len); } +int32_t lv_memcmp(const void * p1, const void * p2, size_t len) +{ + return memcmp(p1, p2, len); +} + size_t lv_strlen(const char * str) { return strlen(str); @@ -86,6 +91,11 @@ char * lv_strdup(const char * src) return dst; } +char * lv_strcat(char * dst, const char * src) +{ + return strcat(dst, src); +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/stdlib/lv_mem.h b/src/stdlib/lv_mem.h index f66f3d6f0f..e0bfcaba04 100644 --- a/src/stdlib/lv_mem.h +++ b/src/stdlib/lv_mem.h @@ -15,9 +15,7 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include -#include -#include +#include "lv_string.h" #include "../misc/lv_types.h" diff --git a/src/stdlib/lv_sprintf.h b/src/stdlib/lv_sprintf.h index cd5a803468..a47b4307c1 100644 --- a/src/stdlib/lv_sprintf.h +++ b/src/stdlib/lv_sprintf.h @@ -7,8 +7,8 @@ #define _LV_SPRINTF_H_ #if defined(__has_include) - #if __has_include() - #include + #if __has_include(LV_INTTYPES_INCLUDE) + #include LV_INTTYPES_INCLUDE /* platform-specific printf format for int32_t, usually "d" or "ld" */ #define LV_PRId32 PRId32 #define LV_PRIu32 PRIu32 @@ -28,9 +28,7 @@ #define LV_PRIX32 "X" #endif -#include -#include -#include +#include "../misc/lv_types.h" #ifdef __cplusplus extern "C" { diff --git a/src/stdlib/lv_string.h b/src/stdlib/lv_string.h index 745cd49e57..e8d4b45fd4 100644 --- a/src/stdlib/lv_string.h +++ b/src/stdlib/lv_string.h @@ -14,8 +14,7 @@ extern "C" { * INCLUDES *********************/ #include "../lv_conf_internal.h" -#include -#include +#include "../misc/lv_types.h" /********************* * DEFINES @@ -57,6 +56,15 @@ void lv_memset(void * dst, uint8_t v, size_t len); */ void * lv_memmove(void * dst, const void * src, size_t len); +/** + * @brief This function will compare two memory blocks + * @param p1 Pointer to the first memory block + * @param p2 Pointer to the second memory block + * @param len Number of bytes to compare + * @return The difference between the value of the first unmatching byte. + */ +int32_t lv_memcmp(const void * p1, const void * p2, size_t len); + /** * Same as `memset(dst, 0x00, len)`. * @param dst pointer to the destination buffer @@ -107,6 +115,15 @@ int32_t lv_strcmp(const char * s1, const char * s2); */ char * lv_strdup(const char * src); +/** + * @brief Copies the string pointed to by src, including the terminating null character, + * to the end of the string pointed to by dst. + * @param dst Pointer to the destination string where the content is to be appended. + * @param src Pointer to the source of data to be copied. + * @return A pointer to the destination string, which is dst. + */ +char * lv_strcat(char * dst, const char * src); + /********************** * MACROS **********************/ diff --git a/src/stdlib/rtthread/lv_string_rtthread.c b/src/stdlib/rtthread/lv_string_rtthread.c index 86949814ce..14f4b4f741 100644 --- a/src/stdlib/rtthread/lv_string_rtthread.c +++ b/src/stdlib/rtthread/lv_string_rtthread.c @@ -55,6 +55,11 @@ size_t lv_strlen(const char * str) return rt_strlen(str); } +int32_t lv_memcmp(const void * p1, const void * p2, size_t len) +{ + return rt_memcmp(p1, p2, len); +} + char * lv_strncpy(char * dst, const char * src, size_t dest_size) { return rt_strncpy(dst, src, dest_size); @@ -72,17 +77,17 @@ int32_t lv_strcmp(const char * s1, const char * s2) char * lv_strdup(const char * src) { - /*strdup uses rt_malloc, so use the lv_malloc when LV_USE_STDLIB_MALLOC is not LV_STDLIB_RTTHREAD */ -#if LV_USE_STDLIB_MALLOC != LV_STDLIB_RTTHREAD 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*/ + lv_memcpy(dst, src, len); /*memcpy is faster than strncpy when length is known*/ return dst; -#else - return rt_strdup(src); -#endif +} + +char * lv_strcat(char * dst, const char * src) +{ + return strcat(dst, src); } /********************** diff --git a/src/tick/lv_tick.c b/src/tick/lv_tick.c index 2e4626b780..09fcd007ab 100644 --- a/src/tick/lv_tick.c +++ b/src/tick/lv_tick.c @@ -7,7 +7,7 @@ * INCLUDES *********************/ #include "lv_tick.h" -#include +#include "../misc/lv_types.h" #include "../core/lv_global.h" /********************* diff --git a/src/tick/lv_tick.h b/src/tick/lv_tick.h index da86203712..b770ac1fa9 100644 --- a/src/tick/lv_tick.h +++ b/src/tick/lv_tick.h @@ -15,8 +15,7 @@ extern "C" { *********************/ #include "../lv_conf_internal.h" -#include -#include +#include "../misc/lv_types.h" /********************* * DEFINES diff --git a/src/widgets/buttonmatrix/lv_buttonmatrix.c b/src/widgets/buttonmatrix/lv_buttonmatrix.c index 9b67c31bd0..2b02670bda 100644 --- a/src/widgets/buttonmatrix/lv_buttonmatrix.c +++ b/src/widgets/buttonmatrix/lv_buttonmatrix.c @@ -130,7 +130,7 @@ void lv_buttonmatrix_set_map(lv_obj_t * obj, const char * map[]) uint32_t unit_cnt = 0; /*Number of units in a row*/ uint32_t btn_cnt = 0; /*Number of buttons in a row*/ /*Count the buttons and units in this row*/ - while(map_row[btn_cnt] && strcmp(map_row[btn_cnt], "\n") != 0 && map_row[btn_cnt][0] != '\0') { + while(map_row[btn_cnt] && lv_strcmp(map_row[btn_cnt], "\n") != 0 && map_row[btn_cnt][0] != '\0') { unit_cnt += get_button_width(btnm->ctrl_bits[btn_tot_i + btn_cnt]); btn_cnt++; } @@ -325,7 +325,7 @@ const char * lv_buttonmatrix_get_button_text(const lv_obj_t * obj, uint32_t btn_ while(btn_i != btn_id) { btn_i++; txt_i++; - if(strcmp(btnm->map_p[txt_i], "\n") == 0) txt_i++; + if(lv_strcmp(btnm->map_p[txt_i], "\n") == 0) txt_i++; } if(btn_i == btnm->btn_cnt) return NULL; @@ -703,7 +703,7 @@ static void draw_main(lv_event_t * e) for(btn_i = 0; btn_i < btnm->btn_cnt; btn_i++, txt_i++) { /*Search the next valid text in the map*/ - while(strcmp(btnm->map_p[txt_i], "\n") == 0) { + while(lv_strcmp(btnm->map_p[txt_i], "\n") == 0) { txt_i++; } @@ -818,7 +818,7 @@ static void allocate_button_areas_and_controls(const lv_obj_t * obj, const char uint32_t btn_cnt = 0; uint32_t i = 0; while(map[i] && map[i][0] != '\0') { - if(strcmp(map[i], "\n") != 0) { /*Do not count line breaks*/ + if(lv_strcmp(map[i], "\n") != 0) { /*Do not count line breaks*/ btn_cnt++; } else { @@ -1029,7 +1029,7 @@ static bool has_popovers_in_top_row(lv_obj_t * obj) const char ** map_row = btnm->map_p; uint32_t btn_cnt = 0; - while(map_row[btn_cnt] && strcmp(map_row[btn_cnt], "\n") != 0 && map_row[btn_cnt][0] != '\0') { + while(map_row[btn_cnt] && lv_strcmp(map_row[btn_cnt], "\n") != 0 && map_row[btn_cnt][0] != '\0') { if(button_is_popover(btnm->ctrl_bits[btn_cnt])) { return true; } diff --git a/src/widgets/dropdown/lv_dropdown.c b/src/widgets/dropdown/lv_dropdown.c index c5d1c0189b..973c07f776 100644 --- a/src/widgets/dropdown/lv_dropdown.c +++ b/src/widgets/dropdown/lv_dropdown.c @@ -20,7 +20,6 @@ #include "../../misc/lv_math.h" #include "../../misc/lv_text_ap.h" #include "../../stdlib/lv_string.h" -#include /********************* * DEFINES @@ -246,7 +245,7 @@ void lv_dropdown_add_option(lv_obj_t * obj, const char * option, uint32_t pos) #else _lv_text_ap_proc(option, ins_buf); #endif - if(pos < dropdown->option_cnt) strcat(ins_buf, "\n"); + if(pos < dropdown->option_cnt) lv_strcat(ins_buf, "\n"); _lv_text_ins(dropdown->options, _lv_text_encoded_get_char_id(dropdown->options, insert_pos), ins_buf); lv_free(ins_buf); @@ -412,7 +411,7 @@ int32_t lv_dropdown_get_option_index(lv_obj_t * obj, const char * option) while(start[0] != '\0') { for(char_i = 0; (start[char_i] != '\n') && (start[char_i] != '\0'); char_i++); - if(option_len == char_i && memcmp(start, option, LV_MIN(option_len, char_i)) == 0) { + if(option_len == char_i && lv_memcmp(start, option, LV_MIN(option_len, char_i)) == 0) { return opt_i; } diff --git a/src/widgets/keyboard/lv_keyboard.c b/src/widgets/keyboard/lv_keyboard.c index abc431c2cd..a2bd3bb9a6 100644 --- a/src/widgets/keyboard/lv_keyboard.c +++ b/src/widgets/keyboard/lv_keyboard.c @@ -14,8 +14,6 @@ #include "../../misc/lv_assert.h" #include "../../stdlib/lv_string.h" -#include - /********************* * DEFINES *********************/ diff --git a/src/widgets/label/lv_label.h b/src/widgets/label/lv_label.h index 7a6ea3d854..e555f089fb 100644 --- a/src/widgets/label/lv_label.h +++ b/src/widgets/label/lv_label.h @@ -17,7 +17,7 @@ extern "C" { #if LV_USE_LABEL != 0 -#include +#include "../../misc/lv_types.h" #include "../../core/lv_obj.h" #include "../../font/lv_font.h" #include "../../font/lv_symbol_def.h" diff --git a/src/widgets/line/lv_line.c b/src/widgets/line/lv_line.c index 4734e1bbe8..9d5ee810d8 100644 --- a/src/widgets/line/lv_line.c +++ b/src/widgets/line/lv_line.c @@ -11,10 +11,8 @@ #if LV_USE_LINE != 0 #include "../../misc/lv_assert.h" #include "../../misc/lv_math.h" +#include "../../misc/lv_types.h" #include "../../draw/lv_draw.h" -#include -#include -#include /********************* * DEFINES diff --git a/src/widgets/span/lv_span.c b/src/widgets/span/lv_span.c index 95dd030942..91da027cca 100644 --- a/src/widgets/span/lv_span.c +++ b/src/widgets/span/lv_span.c @@ -440,7 +440,7 @@ int32_t lv_spangroup_get_expand_height(lv_obj_t * obj, int32_t width) span_text_check(&cur_txt); uint32_t cur_txt_ofs = 0; lv_snippet_t snippet; /* use to save cur_span info and push it to stack */ - memset(&snippet, 0, sizeof(snippet)); + lv_memset(&snippet, 0, sizeof(snippet)); int32_t line_cnt = 0; int32_t lines = spans->lines < 0 ? INT32_MAX : spans->lines; @@ -656,7 +656,7 @@ static void lv_snippet_push(lv_snippet_t * item) { struct _snippet_stack * stack_p = snippet_stack; if(stack_p->index < LV_SPAN_SNIPPET_STACK_SIZE) { - memcpy(&stack_p->stack[stack_p->index], item, sizeof(lv_snippet_t)); + lv_memcpy(&stack_p->stack[stack_p->index], item, sizeof(lv_snippet_t)); stack_p->index++; } else { diff --git a/src/widgets/table/lv_table.c b/src/widgets/table/lv_table.c index c69494c3a5..ec41778e2f 100644 --- a/src/widgets/table/lv_table.c +++ b/src/widgets/table/lv_table.c @@ -1019,7 +1019,7 @@ static size_t get_cell_txt_len(const char * txt) #if LV_USE_ARABIC_PERSIAN_CHARS retval = sizeof(lv_table_cell_t) + _lv_text_ap_calc_bytes_count(txt) + 1; #else - retval = sizeof(lv_table_cell_t) + strlen(txt) + 1; + retval = sizeof(lv_table_cell_t) + lv_strlen(txt) + 1; #endif return retval; @@ -1031,7 +1031,7 @@ static void copy_cell_txt(lv_table_cell_t * dst, const char * txt) #if LV_USE_ARABIC_PERSIAN_CHARS _lv_text_ap_proc(txt, dst->txt); #else - strcpy(dst->txt, txt); + lv_strcpy(dst->txt, txt); #endif } diff --git a/src/widgets/textarea/lv_textarea.c b/src/widgets/textarea/lv_textarea.c index 37bf816b18..241f6753e1 100644 --- a/src/widgets/textarea/lv_textarea.c +++ b/src/widgets/textarea/lv_textarea.c @@ -9,7 +9,6 @@ #include "lv_textarea.h" #if LV_USE_TEXTAREA != 0 -#include #include "../../core/lv_group.h" #include "../../core/lv_refr.h" #include "../../indev/lv_indev.h" diff --git a/tests/src/test_assets/test_kern_one_otf.c b/tests/src/test_assets/test_kern_one_otf.c index 8646c7a59b..ed6d34b7cb 100644 --- a/tests/src/test_assets/test_kern_one_otf.c +++ b/tests/src/test_assets/test_kern_one_otf.c @@ -1,6 +1,5 @@ #include #include - #if LV_BUILD_TEST /*TestKERNOne.otf from https://github.com/unicode-org/text-rendering-tests*/ diff --git a/tests/src/test_cases/libs/test_qrcode.c b/tests/src/test_cases/libs/test_qrcode.c index e6f70cc4c1..630daec82c 100644 --- a/tests/src/test_cases/libs/test_qrcode.c +++ b/tests/src/test_cases/libs/test_qrcode.c @@ -4,6 +4,7 @@ #include "unity/unity.h" #if LV_USE_QRCODE +#include static lv_obj_t * active_screen = NULL; diff --git a/tests/src/test_cases/test_fs.c b/tests/src/test_cases/test_fs.c index 4944a4607b..237412fab0 100644 --- a/tests/src/test_cases/test_fs.c +++ b/tests/src/test_cases/test_fs.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include const char * read_exp = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sed maximus orci. Morbi massa nisi, varius eu convallis ac, venenatis at metus. In in nibh id urna pretium feugiat vitae eu libero. Ut eget fringilla eros. Nunc ullamcorper lectus mauris, vel rhoncus velit volutpat et. Phasellus sed molestie massa. Maecenas quis dui sollicitudin, vulputate nunc ut, dictum quam. Nam a congue lorem. Nulla non facilisis sapien. Ut luctus nulla nibh, sed finibus urna porta non. Duis aliquet augue id urna euismod auctor. Integer pellentesque vulputate enim non mattis. Donec finibus mattis dolor, et feugiat nisi pharetra porta. Mauris ullamcorper cursus magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus."; diff --git a/tests/src/test_cases/test_profiler.c b/tests/src/test_cases/test_profiler.c index 8dfd721c75..094877f9aa 100644 --- a/tests/src/test_cases/test_profiler.c +++ b/tests/src/test_cases/test_profiler.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include #define OUTPUT_LINE_MAX 8 #define OUTPUT_BUF_MAX 128 diff --git a/tests/src/test_cases/test_txt.c b/tests/src/test_cases/test_txt.c index bd99586896..5d1f32bf40 100644 --- a/tests/src/test_cases/test_txt.c +++ b/tests/src/test_cases/test_txt.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include void test_txt_should_insert_string_into_another(void) { diff --git a/tests/src/test_cases/widgets/test_dropdown.c b/tests/src/test_cases/widgets/test_dropdown.c index a32aaebac0..2d2fe0992d 100644 --- a/tests/src/test_cases/widgets/test_dropdown.c +++ b/tests/src/test_cases/widgets/test_dropdown.c @@ -3,6 +3,7 @@ #include "unity/unity.h" #include "lv_test_indev.h" +#include void setUp(void) { diff --git a/tests/src/test_cases/widgets/test_label.c b/tests/src/test_cases/widgets/test_label.c index 02cfd8717e..216e7405e0 100644 --- a/tests/src/test_cases/widgets/test_label.c +++ b/tests/src/test_cases/widgets/test_label.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include static const char * long_text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras malesuada ultrices magna in rutrum."; diff --git a/tests/src/test_cases/widgets/test_objid.c b/tests/src/test_cases/widgets/test_objid.c index 6eb02a97ea..695ffe26c6 100644 --- a/tests/src/test_cases/widgets/test_objid.c +++ b/tests/src/test_cases/widgets/test_objid.c @@ -2,6 +2,7 @@ #include "../lvgl.h" #include "unity/unity.h" +#include void test_obj_id_should_match_class_name(void) { diff --git a/tests/src/test_cases/widgets/test_roller.c b/tests/src/test_cases/widgets/test_roller.c index 4c85fc75cb..134efa602e 100644 --- a/tests/src/test_cases/widgets/test_roller.c +++ b/tests/src/test_cases/widgets/test_roller.c @@ -3,6 +3,7 @@ #include "unity/unity.h" #include "lv_test_indev.h" +#include #define OPTION_BUFFER_SZ (20U) #define OPTION_SMALL_BUFFER_SZ (3U)