diff options
Diffstat (limited to 'sysdeps/posix/time.c')
-rw-r--r-- | sysdeps/posix/time.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sysdeps/posix/time.c b/sysdeps/posix/time.c index 6d0bb4bafc..1a3fd4e666 100644 --- a/sysdeps/posix/time.c +++ b/sysdeps/posix/time.c @@ -38,3 +38,29 @@ time (time_t *t) return result; } libc_hidden_def (time) + +/* 64-bit time version */ + +extern int __y2038_linux_support; + +__time64_t +__time_t64 (__time64_t *t) +{ + struct timeval tv32; + __time64_t result; + + if (__y2038_linux_support) + { + /* TODO: implement using 64-bit time syscall */ + } + + if (__gettimeofday (&tv32, (struct timezone *) NULL)) + result = (__time64_t) -1; + else + result = (__time64_t) tv32.tv_sec; + + if (t != NULL) + *t = result; + + return result; +} |