[project @ 2004-03-03 19:25:41 by malcolm]
[ghc-base.git] / System / Time.hsc
index b4e0d97..e342ac3 100644 (file)
@@ -342,14 +342,14 @@ zone x = do
 # endif /* ! HAVE_TZNAME */
 
 -- Get the offset in secs from UTC, if (struct tm) doesn't supply it. */
-# if HAVE_ALTZONE
+# if HAVE_DECL_ALTZONE
 foreign import ccall "&altzone"  altzone  :: Ptr CTime
 foreign import ccall "&timezone" timezone :: Ptr CTime
 gmtoff x = do 
   dst <- (#peek struct tm,tm_isdst) x
   tz <- if dst then peek altzone else peek timezone
   return (-fromIntegral tz)
-# else /* ! HAVE_ALTZONE */
+# else /* ! HAVE_DECL_ALTZONE */
 
 #if !defined(mingw32_TARGET_OS)
 foreign import ccall unsafe "timezone" timezone :: Ptr CLong
@@ -366,7 +366,7 @@ gmtoff x = do
    -- This module assumes the interpretation of tm_gmtoff, i.e., offsets
    -- are > 0 East of the Prime Meridian, so flip the sign.
   return (- (if dst then (fromIntegral tz - 3600) else tz))
-# endif /* ! HAVE_ALTZONE */
+# endif /* ! HAVE_DECL_ALTZONE */
 #endif  /* ! HAVE_TM_ZONE */
 #endif /* ! __HUGS__ */
 
@@ -427,14 +427,14 @@ throwAwayReturnPointer fun x y = fun x y >> return ()
 clockToCalendarTime_static :: (Ptr CTime -> IO (Ptr CTm)) -> Bool -> ClockTime
         -> IO CalendarTime
 clockToCalendarTime_static fun is_utc (TOD secs psec) = do
-  withObject (fromIntegral secs :: CTime)  $ \ p_timer -> do
+  with (fromIntegral secs :: CTime)  $ \ p_timer -> do
     p_tm <- fun p_timer        -- can't fail, according to POSIX
     clockToCalendarTime_aux is_utc p_tm psec
 
 clockToCalendarTime_reentrant :: (Ptr CTime -> Ptr CTm -> IO ()) -> Bool -> ClockTime
         -> IO CalendarTime
 clockToCalendarTime_reentrant fun is_utc (TOD secs psec) = do
-  withObject (fromIntegral secs :: CTime)  $ \ p_timer -> do
+  with (fromIntegral secs :: CTime)  $ \ p_timer -> do
     allocaBytes (#const sizeof(struct tm)) $ \ p_tm -> do
       fun p_timer p_tm
       clockToCalendarTime_aux is_utc p_tm psec
@@ -476,11 +476,9 @@ clockToCalendarTime_aux is_utc p_tm psec = do
 toClockTime :: CalendarTime -> ClockTime
 #ifdef __HUGS__
 toClockTime (CalendarTime yr mon mday hour min sec psec
-                         _wday _yday _tzname tz isdst) =
+                         _wday _yday _tzname tz _isdst) =
   unsafePerformIO $ do
-    s <- toClockTimePrim (yr-1900) (fromEnum mon) mday
-                        hour min sec
-                        tz (if isdst then 1 else 0)
+    s <- toClockTimePrim (yr-1900) (fromEnum mon) mday hour min sec tz
     return (TOD (fromIntegral s) psec)
 #else /* ! __HUGS__ */
 toClockTime (CalendarTime year mon mday hour min sec psec