aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--include/time.h2
-rw-r--r--time/tzfile.c6
-rw-r--r--time/tzset.c8
4 files changed, 19 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 8f311cc071..628aaef05f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2019-02-03 Florian Weimer <fweimer@redhat.com>
+ * include/time.h (__tzfile_default): Use int, not long int, for
+ the GMT offsets.
+ * time/tzfile.c (struct ttinfo): Change type of the offset member
+ to int.
+ (__tzfile_read): Remove useless cast.
+ (__tzfile_default): Adjust prototype.
+ * time/tzset.c (tz_rule): Change type of the offset member to int.
+ (parse_offset): Change the type of the sign variable to int.
+
+2019-02-03 Florian Weimer <fweimer@redhat.com>
+
[BZ #24153]
* debug/gets_chk.c (__gets_chk): Use stdin instead of _IO_stdin.
* libio/getchar.c (getchar): Likewise.
diff --git a/include/time.h b/include/time.h
index f935e9dd3e..61dd9e180b 100644
--- a/include/time.h
+++ b/include/time.h
@@ -43,7 +43,7 @@ extern void __tzfile_compute (__time64_t timer, int use_localtime,
long int *leap_correct, int *leap_hit,
struct tm *tp) attribute_hidden;
extern void __tzfile_default (const char *std, const char *dst,
- long int stdoff, long int dstoff)
+ int stdoff, int dstoff)
attribute_hidden;
extern void __tzset_parse_tz (const char *tz) attribute_hidden;
extern void __tz_compute (__time64_t timer, struct tm *tm, int use_localtime)
diff --git a/time/tzfile.c b/time/tzfile.c
index 24440a6a9c..a07e7c5037 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -35,7 +35,7 @@ static time_t tzfile_mtime;
struct ttinfo
{
- long int offset; /* Seconds east of GMT. */
+ int offset; /* Seconds east of GMT. */
unsigned char isdst; /* Used to set tm_isdst. */
unsigned char idx; /* Index into `zone_names'. */
unsigned char isstd; /* Transition times are in standard time. */
@@ -345,7 +345,7 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
/* Bogus index in data file. */
goto lose;
types[i].idx = c;
- types[i].offset = (long int) decode (x);
+ types[i].offset = decode (x);
}
if (__glibc_unlikely (__fread_unlocked (zone_names, 1, chars, f) != chars))
@@ -491,7 +491,7 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
void
__tzfile_default (const char *std, const char *dst,
- long int stdoff, long int dstoff)
+ int stdoff, int dstoff)
{
size_t stdlen = strlen (std) + 1;
size_t dstlen = strlen (dst) + 1;
diff --git a/time/tzset.c b/time/tzset.c
index d026674d11..307eb651ad 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -50,7 +50,7 @@ typedef struct
unsigned short int m, n, d; /* Month, week, day. */
int secs; /* Time of day. */
- long int offset; /* Seconds east of GMT (west if < 0). */
+ int offset; /* Seconds east of GMT (west if < 0). */
/* We cache the computed time of change for a
given year so we don't have to recompute it. */
@@ -193,11 +193,11 @@ parse_offset (const char **tzp, int whichrule)
&& (*tz == '\0' || (*tz != '+' && *tz != '-' && !isdigit (*tz))))
return false;
- long sign;
+ int sign;
if (*tz == '-' || *tz == '+')
- sign = *tz++ == '-' ? 1L : -1L;
+ sign = *tz++ == '-' ? 1 : -1;
else
- sign = -1L;
+ sign = -1;
*tzp = tz;
unsigned short int hh;