History log of /seL4-refos-master/libs/libmuslc/src/time/localtime_r.c
Revision Date Author Comments
# c13f2af1 13-Aug-2015 Natanael Copa <ncopa@alpinelinux.org>

match historical behavior for tm_gmtoff member of struct tm

tm_gmtoff is a nonstandard field, but on historical systems which have
this field, it stores the offset of the local time zone from GMT or
UTC. this is the opposite of the POSIX extern long timezone object and
the offsets used in POSIX-form TZ strings, which represent the offset
from local time to UTC. previously we were storing these negated
offsets in tm_gmtoff too.

programs which only used this field indirectly via strftime were not
affected since strftime performed the negation for presentation.
however, some programs and libraries accesse tm_gmtoff directly and
were obtaining negated time zone offsets.


# f89e2982 19-Dec-2013 Rich Felker <dalias@aerifal.cx>

fix hangs in localtime for near-overflowing time_t values on 64-bit archs


# ea81c062 17-Jul-2013 Rich Felker <dalias@aerifal.cx>

fix error code on time conversion overflows

POSIX mandates EOVERFLOW for this condition.


# 1cc81f5c 17-Jul-2013 Rich Felker <dalias@aerifal.cx>

the big time handling overhaul

this commit has two major user-visible parts: zoneinfo-format time
zones are now supported, and overflow handling is intended to be
complete in the sense that all functions return a correct result if
and only if the result fits in the destination type, and otherwise
return an error. also, some noticable bugs in the way DST detection
and normalization worked have been fixed, and performance may be
better than before, but it has not been tested.


# 400c5e5c 06-Sep-2012 Rich Felker <dalias@aerifal.cx>

use restrict everywhere it's required by c99 and/or posix 2008

to deal with the fact that the public headers may be used with pre-c99
compilers, __restrict is used in place of restrict, and defined
appropriately for any supported compiler. we also avoid the form
[restrict] since older versions of gcc rejected it due to a bug in the
original c99 standard, and instead use the form *restrict.


# 0b44a031 11-Feb-2011 Rich Felker <dalias@aerifal.cx>

initial check-in, version 0.5.0