feat(stdlib): strncpy consistency and add strlcpy #6204
Merged
+78
−30
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the feature or fix
Following up with the discussion about
strncpy
in #5927Make
lv_strncpy
consistent with the standard spec.The standard spec of
strncpy
isn't necessarily better than the one that's implemented in LVGLlv_string_builtin.c
. The concern is that the behavior oflv_strncpy
changes depending on the configuredLV_USE_STDLIB_STRING
. We wrap the libcstrncpy
with the modified behavior to match the unique builtin behavior, however we don't wrap the rt-thread implementation and the rt-thread implementation matches the standard spec, i.e. the libc behavior.I updated the uses of
lv_strncpy
where it's called to ensure a null terminator is added where it's expected.See the manpage for strncpy.
Notes
lv_conf_template.h
run lv_conf_internal_gen.py and update Kconfig.scripts/code-format.py
(astyle version v3.4.12 needs to be installed) and follow the Code Conventions.