zephyr/lib
Peter Bigot 6297c667c5 lib: os: cbprintf: correct arg extraction of wide characters
The l length modifier can apply to the c format specifier; in that
case the expected value is of type wint_t.  Minimal libc doesn't
define wint_t, and it is complex to do so correctly (must add
<wchar.h>, and use a lot of conditional tricks).

wint_t can differ from wchar_t in rank when wchar_t undergoes default
integral promotion, which it does on xtensa (wchar_t is unsigned
short).  So we can use wchar_t as an approximation, except in va_arg
where we need to use a wider type: int covers this case.

Note that we still don't format wide characters, but we do want to
consume the correct amount of data for a default-promoted extended
character.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2021-01-07 14:02:06 +01:00
..
cmsis_rtos_v1 cmsis: align buffer containing struct k_timer 2020-11-13 14:53:55 -08:00
cmsis_rtos_v2 lib: cmsis_rtos_v2: Handle possible zero length array 2020-09-18 10:13:58 -05:00
fnmatch
gui kernel: subsys: lib: drivers: Use k_heap instead of z_mem_pool wrappers 2020-12-07 21:50:14 -05:00
libc lib: libc: minimal: remove outdated comment 2021-01-04 20:39:16 -05:00
open-amp
os lib: os: cbprintf: correct arg extraction of wide characters 2021-01-07 14:02:06 +01:00
posix lib/posix: SPARC newlib has unsigned short mode_t 2020-11-13 14:53:55 -08:00
CMakeLists.txt updatehub: Move from lib to subsys:mgmt folder 2020-08-03 16:33:06 +02:00
Kconfig updatehub: Move from lib to subsys:mgmt folder 2020-08-03 16:33:06 +02:00