zephyr/lib/os
Peter A. Bigot 55ace13c32 lib/timeutil: avoid implementation-defined behavior
The algorithm for converting broken-down civil time to seconds in the
POSIX epoch time scale would produce undefined behavior on a toolchain
that uses a 32-bit time_t in cases where the referenced time could not
be represented exactly.

However, there are use cases in Zephyr for civil time conversions
outside the 32-bit representable range of 1901-12-13T20:45:52Z through
2038-01-19T03:14:07Z inclusive.

Add new API that specifically returns a 64-bit signed seconds count, and
revise the existing API to detect out-of-range values and convert them
to a diagnosible error.

Closes #18465

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
2019-09-19 20:49:51 -04:00
..
assert.c
base64.c
CMakeLists.txt
crc7_sw.c
crc8_sw.c
crc16_sw.c
crc32_sw.c
fdtable.c
hex.c
json.c
Kconfig
mempool.c
mutex.c
printk.c
rb.c
ring_buffer.c
sem.c
thread_entry.c
timeutil.c lib/timeutil: avoid implementation-defined behavior 2019-09-19 20:49:51 -04:00
work_q.c