re PR libf2c/7384 (DATE_AND_TIME milliseconds field inactive on Windows)
authorTim Prince <tprince@computer.org>
Sat, 14 Sep 2002 12:50:40 +0000 (12:50 +0000)
committerToon Moene <toon@gcc.gnu.org>
Sat, 14 Sep 2002 12:50:40 +0000 (12:50 +0000)
2002-09-14  Tim Prince  <tprince@computer.org>

PR libf2c/7384
* libU77/datetime_.c: Use GetLocalTime on MS-Windows.

From-SVN: r57142

libf2c/ChangeLog
libf2c/libU77/datetime_.c

index 6627427edeca0c849b8d8b39865cf195d6735360..87ce828236978798c51d438defffd91805090acb 100644 (file)
@@ -1,3 +1,8 @@
+2002-09-14  Tim Prince  <tprince@computer.org>
+
+       PR libf2c/7384
+       * libU77/datetime_.c: Use GetLocalTime on MS-Windows.
+
 2002-08-31  Toon Moene  <toon@moene.indiv.nluug.nl>
 
        PR fortran/6367
index 40786ed8e6dc1f6f9d9014060677a3fc60a13ed6..cd7c7ca0a3bd14f221bfd1d303f739128c583cbc 100644 (file)
@@ -31,6 +31,11 @@ Boston, MA 02111-1307, USA.  */
 #  include <time.h>
 # endif
 #endif
+#if defined (_WIN32)
+#include <windows.h>
+#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 (&lt), gtime = *gmtime (&lt);
   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;