diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | include/time.h | 2 | ||||
-rw-r--r-- | time/tzfile.c | 6 | ||||
-rw-r--r-- | time/tzset.c | 8 |
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; |