From 958a4e4eeeb96603ee982ee6273ad2a63d450efd Mon Sep 17 00:00:00 2001 From: Tim Prince Date: Sat, 14 Sep 2002 12:50:40 +0000 Subject: [PATCH] re PR libf2c/7384 (DATE_AND_TIME milliseconds field inactive on Windows) 2002-09-14 Tim Prince PR libf2c/7384 * libU77/datetime_.c: Use GetLocalTime on MS-Windows. From-SVN: r57142 --- libf2c/ChangeLog | 5 +++++ libf2c/libU77/datetime_.c | 15 +++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/libf2c/ChangeLog b/libf2c/ChangeLog index 6627427edec..87ce8282369 100644 --- a/libf2c/ChangeLog +++ b/libf2c/ChangeLog @@ -1,3 +1,8 @@ +2002-09-14 Tim Prince + + PR libf2c/7384 + * libU77/datetime_.c: Use GetLocalTime on MS-Windows. + 2002-08-31 Toon Moene PR fortran/6367 diff --git a/libf2c/libU77/datetime_.c b/libf2c/libU77/datetime_.c index 40786ed8e6d..cd7c7ca0a3b 100644 --- a/libf2c/libU77/datetime_.c +++ b/libf2c/libU77/datetime_.c @@ -31,6 +31,11 @@ Boston, MA 02111-1307, USA. */ # include # endif #endif +#if defined (_WIN32) +#include +#undef min +#undef max +#endif #include "f2c.h" void s_copy (register char *a, register char *b, ftnlen la, ftnlen lb); @@ -44,6 +49,14 @@ G77_date_and_time_0 (char *date, char *fftime, char *zone, struct tm ltime = *localtime (<), gtime = *gmtime (<); char dat[9], zon[6], ftim[11]; int i, vals[8]; +#if defined (_WIN32) + struct _SYSTEMTIME wdattim; + GetLocalTime(&wdattim); + vals[7] = wdattim.wMilliseconds; +#else + vals[7] = 0; /* no STDC/POSIX way to get this */ + /* GNUish way; maybe use `ftime' on other systems. */ +#endif vals[0] = 1900 + ltime.tm_year; vals[1] = 1 + ltime.tm_mon; @@ -55,8 +68,6 @@ G77_date_and_time_0 (char *date, char *fftime, char *zone, vals[4] = ltime.tm_hour; vals[5] = ltime.tm_min; vals[6] = ltime.tm_sec; - vals[7] = 0; /* no STDC/POSIX way to get this */ - /* GNUish way; maybe use `ftime' on other systems. */ #if HAVE_GETTIMEOFDAY { struct timeval tp;