[project @ 1998-02-02 17:27:26 by simonm]
[ghc-hetmet.git] / ghc / lib / cbits / toLocalTime.lc
diff --git a/ghc/lib/cbits/toLocalTime.lc b/ghc/lib/cbits/toLocalTime.lc
deleted file mode 100644 (file)
index 11a1e30..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-%
-% (c) The GRASP/AQUA Project, Glasgow University, 1995
-%
-\subsection[toLocalTime.lc]{toCalendarTime Runtime Support}
-
-\begin{code}
-
-#include "rtsdefs.h"
-#include "timezone.h"
-#include "stgio.h"
-
-StgAddr
-toLocalTime(I_ size, StgByteArray d, StgByteArray res)
-{
-    struct tm *tm,*tmp=(struct tm *)res;
-    time_t t;
-
-    switch(size) {
-       default:
-           return NULL;
-       case 0:
-           t = 0;
-           break;
-       case -1:
-           t = - (time_t) ((StgInt *)d)[0];
-           if (t > 0) 
-               return NULL;
-           break;
-       case 1:
-           t = (time_t) ((StgInt *)d)[0];
-           if (t < 0) 
-               return NULL;
-           break;
-       }
-    tm = localtime(&t);
-    
-    if (tm == NULL)
-       return NULL;
-
-    /*
-      localtime() may return a ptr to statically allocated storage,
-      so to make toLocalTime reentrant, we manually copy
-      the structure into the (struct tm *) passed in.
-    */
-    tmp->tm_sec    = tm->tm_sec;
-    tmp->tm_min    = tm->tm_min;
-    tmp->tm_hour   = tm->tm_hour;
-    tmp->tm_mday   = tm->tm_mday;
-    tmp->tm_mon    = tm->tm_mon;
-    tmp->tm_year   = tm->tm_year;
-    tmp->tm_wday   = tm->tm_wday;
-    tmp->tm_yday   = tm->tm_yday;
-    tmp->tm_isdst  = tm->tm_isdst;
-    /*
-      If you don't have tm_zone in (struct tm), but
-      you get at it via the shared tmzone[], you'll
-      lose. Same goes for the tm_gmtoff field.
-    
-    */
-#if HAVE_TM_ZONE
-    strcpy(tmp->tm_zone,tm->tm_zone);
-    tmp->tm_gmtoff = tm->tm_gmtoff;
-#endif
-
-    return (StgAddr)res;
-}
-\end{code}