[[PATCH,RFC,2] 11/63] Y2038: implement 64-bit-time __timegm64()
Commit Message
Implementation is based on the same __mktime64_internal function
which was introduced in the '__mktime64' implementation change.
---
time/Versions | 1 +
time/timegm.c | 11 +++++++++++
2 files changed, 12 insertions(+)
@@ -71,5 +71,6 @@ libc {
__gmtime64; __gmtime64_r;
__localtime64; __localtime64_r;
__mktime64; __timelocal64_r;
+ __timegm64;
}
}
@@ -36,6 +36,9 @@
time_t __mktime_internal (struct tm *,
struct tm * (*) (time_t const *, struct tm *),
time_t *);
+__time64_t __mktime64_internal (struct tm *,
+ struct tm * (*) (__time64_t const *, struct tm *),
+ __time64_t *);
#endif
time_t
@@ -45,3 +48,11 @@ timegm (struct tm *tmp)
tmp->tm_isdst = 0;
return __mktime_internal (tmp, __gmtime_r, &gmtime_offset);
}
+
+__time64_t
+__timegm64 (struct tm *tmp)
+{
+ static __time64_t gmtime64_offset;
+ tmp->tm_isdst = 0;
+ return __mktime64_internal (tmp, __gmtime64_r, &gmtime64_offset);
+}