mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 06:20:06 +00:00
Y2038: add function __gmtime64_r
Tested with 'make check' on x86_64-linux-gnu and i686-linux.gnu. * include/time.h (__gmtime64_r): Add. * time/gmtime.c (__gmtime64_r): Add. [__TIMESIZE != 64] (__gmtime): Turn into a wrapper.
This commit is contained in:
parent
131db8b0c8
commit
a1d346ce0d
@ -1,5 +1,11 @@
|
||||
2018-12-18 Albert ARIBAUD <albert.aribaud@3adev.fr>
|
||||
|
||||
* include/time.h
|
||||
(__gmtime64_r): Add.
|
||||
* time/gmtime.c
|
||||
(__gmtime64_r): Add.
|
||||
[__TIMESIZE != 64] (__gmtime): Turn into a wrapper.
|
||||
|
||||
* include/time.h
|
||||
(__gmtime64): Add.
|
||||
* time/gmtime.c
|
||||
|
@ -86,6 +86,14 @@ extern struct tm *__gmtime64 (const __time64_t *__timer);
|
||||
libc_hidden_proto (__gmtime64)
|
||||
#endif
|
||||
|
||||
#if __TIMESIZE == 64
|
||||
# define __gmtime64_r __gmtime_r
|
||||
#else
|
||||
extern struct tm *__gmtime64_r (const __time64_t *__restrict __timer,
|
||||
struct tm *__restrict __tp);
|
||||
libc_hidden_proto (__gmtime64_r);
|
||||
#endif
|
||||
|
||||
/* Compute the `struct tm' representation of T,
|
||||
offset OFFSET seconds east of UTC,
|
||||
and store year, yday, mon, mday, wday, hour, min, sec into *TP.
|
||||
|
@ -21,10 +21,26 @@
|
||||
/* Return the `struct tm' representation of *T in UTC,
|
||||
using *TP to store the result. */
|
||||
struct tm *
|
||||
__gmtime_r (const time_t *t, struct tm *tp)
|
||||
__gmtime64_r (const __time64_t *t, struct tm *tp)
|
||||
{
|
||||
return __tz_convert (*t, 0, tp);
|
||||
}
|
||||
|
||||
/* Provide a 32-bit variant if needed. */
|
||||
|
||||
#if __TIMESIZE != 64
|
||||
|
||||
libc_hidden_def (__gmtime64_r)
|
||||
|
||||
struct tm *
|
||||
__gmtime_r (const time_t *t, struct tm *tp)
|
||||
{
|
||||
__time64_t t64 = *t;
|
||||
return __gmtime64_r (&t64, tp);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
libc_hidden_def (__gmtime_r)
|
||||
weak_alias (__gmtime_r, gmtime_r)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user