zephyr/include/sys
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.h
atomic.h
base64.h
byteorder.h
crc.h
dlist.h
errno_private.h
fdtable.h
libc-hooks.h
list_gen.h
math_extras_impl.h
math_extras.h
mempool_base.h
mempool.h
mutex.h
printk.h
rb.h
ring_buffer.h
sem.h
sflist.h
slist.h
speculation.h
sys_io.h
timeutil.h lib/timeutil: avoid implementation-defined behavior 2019-09-19 20:49:51 -04:00
util.h