From 1139537a2536b2ca1632f5ab991935ba25068bcb Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Fri, 25 Feb 2005 22:31:21 +0000 Subject: 2005-02-25 Eric Blake * libc/include/time.h (__tzrule_struct): Make offset long, since a 16-bit int overflows on a 12-hour offset. * libc/sys/linux/include/time.h: Ditto. * libc/time/mktime.c (mktime): Use new type of __tzrule.offset. * libc/time/mktm_r.c: Ditto. * libc/time/gettzinfo.c: Ditto. * libc/time/strftime.c (strftime): Fix '%x' to deal with negative years. Fix '%z' to use long, not int. --- newlib/libc/time/mktm_r.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'newlib/libc/time/mktm_r.c') diff --git a/newlib/libc/time/mktm_r.c b/newlib/libc/time/mktm_r.c index 9cea60b7f..4d4b4fab0 100644 --- a/newlib/libc/time/mktm_r.c +++ b/newlib/libc/time/mktm_r.c @@ -95,7 +95,7 @@ _DEFUN (_mktm_r, (tim_p, res, is_gmtime), if (!is_gmtime) { - int offset; + long offset; int hours, mins, secs; TZ_LOCK; @@ -117,11 +117,11 @@ _DEFUN (_mktm_r, (tim_p, res, is_gmtime), ? tz->__tzrule[1].offset : tz->__tzrule[0].offset); - hours = offset / SECSPERHOUR; + hours = (int) (offset / SECSPERHOUR); offset = offset % SECSPERHOUR; - mins = offset / SECSPERMIN; - secs = offset % SECSPERMIN; + mins = (int) (offset / SECSPERMIN); + secs = (int) (offset % SECSPERMIN); res->tm_sec -= secs; res->tm_min -= mins; -- cgit v1.2.3