Y2038: add function __localtime64_r
Tested with 'make check' on x86_64-linux-gnu and i686-linux.gnu. * include/time.h (__localtime64_r): Add. * time/localtime.c (__localtime64_r): Add. [__TIMESIZE != 64] (__localtime_r): Turn into a wrapper.
This commit is contained in:
parent
64dd7a1630
commit
64c2277d2e
|
@ -1,3 +1,11 @@
|
||||||
|
2018-12-18 Albert ARIBAUD <albert.aribaud@3adev.fr>
|
||||||
|
|
||||||
|
* include/time.h
|
||||||
|
(__localtime64_r): Add.
|
||||||
|
* time/localtime.c
|
||||||
|
(__localtime64_r): Add.
|
||||||
|
[__TIMESIZE != 64] (__localtime_r): Turn into a wrapper.
|
||||||
|
|
||||||
2018-12-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
2018-12-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Use Linux generic
|
* sysdeps/unix/sysv/linux/s390/kernel_sigaction.h: Use Linux generic
|
||||||
|
|
|
@ -67,6 +67,14 @@ libc_hidden_proto (__localtime64)
|
||||||
extern struct tm *__localtime_r (const time_t *__timer,
|
extern struct tm *__localtime_r (const time_t *__timer,
|
||||||
struct tm *__tp) attribute_hidden;
|
struct tm *__tp) attribute_hidden;
|
||||||
|
|
||||||
|
#if __TIMESIZE == 64
|
||||||
|
# define __localtime64_r __localtime_r
|
||||||
|
#else
|
||||||
|
extern struct tm *__localtime64_r (const __time64_t *__timer,
|
||||||
|
struct tm *__tp);
|
||||||
|
libc_hidden_proto (__localtime64_r)
|
||||||
|
#endif
|
||||||
|
|
||||||
extern struct tm *__gmtime_r (const time_t *__restrict __timer,
|
extern struct tm *__gmtime_r (const time_t *__restrict __timer,
|
||||||
struct tm *__restrict __tp);
|
struct tm *__restrict __tp);
|
||||||
libc_hidden_proto (__gmtime_r)
|
libc_hidden_proto (__gmtime_r)
|
||||||
|
|
|
@ -25,10 +25,25 @@ struct tm _tmbuf;
|
||||||
/* Return the `struct tm' representation of *T in local time,
|
/* Return the `struct tm' representation of *T in local time,
|
||||||
using *TP to store the result. */
|
using *TP to store the result. */
|
||||||
struct tm *
|
struct tm *
|
||||||
__localtime_r (const time_t *t, struct tm *tp)
|
__localtime64_r (const __time64_t *t, struct tm *tp)
|
||||||
{
|
{
|
||||||
return __tz_convert (*t, 1, tp);
|
return __tz_convert (*t, 1, tp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Provide a 32-bit variant if needed. */
|
||||||
|
|
||||||
|
#if __TIMESIZE != 64
|
||||||
|
|
||||||
|
struct tm *
|
||||||
|
__localtime_r (const time_t *t, struct tm *tp)
|
||||||
|
{
|
||||||
|
__time64_t t64 = *t;
|
||||||
|
return __localtime64_r (&t64, tp);
|
||||||
|
}
|
||||||
|
libc_hidden_def (__localtime64_r)
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
weak_alias (__localtime_r, localtime_r)
|
weak_alias (__localtime_r, localtime_r)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue