Subject: B19: Newlib: mktime bug; it assumes GMT struct tm
From: [email-masked] (Anders Torger)

14 Aug 1998 03:13:31 -0700
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
To: [email-masked]

The current implementation (B19) of mktime (time.h) incorrectly assumes that
the given argument of the type "struct *tm" represents GMT, and not local
time as it is supposed to do. It also ignores the field tm_isdst.

The current implementation is found in src/newlib/libc/time/mktime.c

The bug was reported a year ago in the following message:
http://www.cygnus.com/ml/gnu-win32/1997-Jul/0153.html 

Solving the first problem is very simple

change the (last) line
------------------------------
  return tim;
------------------------------
to
------------------------------
  tzset();
  return tim + _timezone;
------------------------------
in mktime.c

The second problem, that it ignores tm_isdst, may not be a problem. I've
seen other implementations ignoring the field, so I don't care providing a
fix for it. Which DST specification to follow is a problem anyway.

/Anders Torger

"Who can do anything after Beethoven?" -- Franz Schubert

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".