summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2018-09-19 13:16:14 -0700
committerAlbert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>2018-10-10 00:21:13 +0200
commit77b79b7bc9109279be670fbad7b88e552cc45e42 (patch)
treea76f07e4c8bb8d9507b34aa7fa0cdecbf5fe3bf6
parent148b5a3114e216305746a36cb71a61bd83f3f7d9 (diff)
downloadglibc-77b79b7bc9109279be670fbad7b88e552cc45e42.tar.gz
Fix mktime localtime offset confusion
[BZ #23603] * include/time.h (__mktime_internal): The localtime offset is now of type long int instead of time_t. This is the longstanding type in glibc, and it is more than enough to represent difference between localtime and gmtime even if it is 32 bits and time_t is 64. Changing it now will let us avoid an unnecessary change when time_t is widened to 64 bits on 32-bit platforms. * time/mktime-internal.h (mktime_offset_t): Now long int.
-rw-r--r--include/time.h4
-rw-r--r--time/mktime-internal.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/include/time.h b/include/time.h
index 23d2580528..e30c5fc3b1 100644
--- a/include/time.h
+++ b/include/time.h
@@ -55,11 +55,11 @@ extern void __tz_compute (time_t timer, struct tm *tm, int use_localtime)
/* Subroutine of `mktime'. Return the `time_t' representation of TP and
normalize TP, given that a `struct tm *' maps to a `time_t' as performed
- by FUNC. Keep track of next guess for time_t offset in *OFFSET. */
+ by FUNC. Record next guess for localtime-gmtime offset in *OFFSET. */
extern time_t __mktime_internal (struct tm *__tp,
struct tm *(*__func) (const time_t *,
struct tm *),
- time_t *__offset) attribute_hidden;
+ long int *__offset) attribute_hidden;
extern struct tm *__localtime_r (const time_t *__timer,
struct tm *__tp) attribute_hidden;
diff --git a/time/mktime-internal.h b/time/mktime-internal.h
index 01671285fc..6111c22880 100644
--- a/time/mktime-internal.h
+++ b/time/mktime-internal.h
@@ -1,2 +1,2 @@
/* Gnulib mktime-internal.h, tailored for glibc. */
-typedef time_t mktime_offset_t;
+typedef long int mktime_offset_t;