summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ghc/lib/std/cbits/getCPUTime.c10
-rw-r--r--ghc/lib/std/cbits/showTime.c6
2 files changed, 10 insertions, 6 deletions
diff --git a/ghc/lib/std/cbits/getCPUTime.c b/ghc/lib/std/cbits/getCPUTime.c
index 512aa573e6..34f1b378af 100644
--- a/ghc/lib/std/cbits/getCPUTime.c
+++ b/ghc/lib/std/cbits/getCPUTime.c
@@ -1,7 +1,7 @@
/*
* (c) The GRASP/AQUA Project, Glasgow University, 1994-1998
*
- * $Id: getCPUTime.c,v 1.6 1999/09/30 15:50:02 sof Exp $
+ * $Id: getCPUTime.c,v 1.7 2000/04/06 17:54:01 rrt Exp $
*
* getCPUTime Runtime Support
*/
@@ -155,11 +155,11 @@ getCPUTime(StgByteArray cpuStruct)
FT2usecs(uT, userTime);
FT2usecs(kT, kernelTime);
-
+
cpu[0] = (unsigned int)(uT / NS_PER_SEC);
- cpu[1] = (unsigned int)(uT * 100);
- cpu[0] = (unsigned int)(kT / NS_PER_SEC);
- cpu[1] = (unsigned int)(kT * 100);
+ cpu[1] = (unsigned int)((uT - cpu[0] * NS_PER_SEC) * 100);
+ cpu[2] = (unsigned int)(kT / NS_PER_SEC);
+ cpu[3] = (unsigned int)((kT - cpu[2] * NS_PER_SEC) * 100);
return 1;
}
diff --git a/ghc/lib/std/cbits/showTime.c b/ghc/lib/std/cbits/showTime.c
index 3e16699ac8..43fd6c85e2 100644
--- a/ghc/lib/std/cbits/showTime.c
+++ b/ghc/lib/std/cbits/showTime.c
@@ -1,7 +1,7 @@
/*
* (c) The GRASP/AQUA Project, Glasgow University, 1994-1998
*
- * $Id: showTime.c,v 1.7 1999/11/23 12:19:20 simonmar Exp $
+ * $Id: showTime.c,v 1.8 2000/04/06 17:54:01 rrt Exp $
*
* ClockTime.showsPrec Runtime Support
*/
@@ -41,6 +41,10 @@ showTime(I_ size, StgByteArray d, I_ maxsize, StgByteArray buf)
return (-1);
}
tm = localtime(&t);
+#ifdef cygwin32_TARGET_OS
+ /* Same as in timezone.c: tzset() isn't called automatically */
+ tzset();
+#endif
if (tm != NULL && strftime(buf, maxsize, "%a %b %d %H:%M:%S %Z %Y", tm) > 0) {
return 1;
} else {