r10563: add module keyword to def-function
[uffi.git] / tests / time.lisp
index aeedba089c3f813bcf1f194fe435c29dd2832e4f..01c2090cafa46b3a719a8074c013a1b86ce29d52 100644 (file)
   (year :int)
   (wday :int)
   (yday :int)
-  (isdst :int))
+  (isdst :int)
+  ;; gmoffset present on SusE SLES9
+  (gmoffset :long))
 
 (uffi:def-function ("time" c-time) 
     ((time (* time-t)))
+  :module "c"
   :returning time-t)
 
-(uffi:def-function ("gmtime" c-gmtime)
+(uffi:def-function "gmtime"
     ((time (* time-t)))
+  :module "c"
   :returning (* tm))
 
+(uffi:def-function "asctime"
+    ((time (* tm)))
+  :module "c"
+  :returning :cstring)
+
 (uffi:def-type time-t :unsigned-long)
 (uffi:def-type tm-pointer (* tm))
 
   7381)
 
 (deftest time.2
-   (uffi:with-foreign-object (time 'time-t)
-     (setf (uffi:deref-pointer time :unsigned-long) 7381)
-     (let ((tm-ptr (the tm-pointer (c-gmtime time))))
-       (values (1+ (uffi:get-slot-value tm-ptr 'tm 'mon))
-              (uffi:get-slot-value tm-ptr 'tm 'mday)
-              (+ 1900 (uffi:get-slot-value tm-ptr 'tm 'year))
-              (uffi:get-slot-value tm-ptr 'tm 'hour)
-              (uffi:get-slot-value tm-ptr 'tm 'min)
-              (uffi:get-slot-value tm-ptr 'tm 'sec)
-              )))
+  (uffi:with-foreign-object (time 'time-t)
+    (setf (uffi:deref-pointer time :unsigned-long) 7381)
+    (let ((tm-ptr (the tm-pointer (gmtime time))))
+      (values (1+ (uffi:get-slot-value tm-ptr 'tm 'mon))
+             (uffi:get-slot-value tm-ptr 'tm 'mday)
+             (+ 1900 (uffi:get-slot-value tm-ptr 'tm 'year))
+             (uffi:get-slot-value tm-ptr 'tm 'hour)
+             (uffi:get-slot-value tm-ptr 'tm 'min)
+             (uffi:get-slot-value tm-ptr 'tm 'sec)
+             )))
   1 1 1970 2 3 1)
 
 
@@ -70,6 +79,7 @@
 (uffi:def-function ("gettimeofday" c-gettimeofday) 
     ((tv (* timeval))
      (tz (* timezone)))
+  :module "c"
   :returning :int)
                    
 (defun get-utime ()
             (zerop res2))))
   t)
             
-(defun posix-time-to-localtime-string (secs)
+(defun posix-time-to-asctime (secs)
   "Converts number of seconds elapsed since 00:00:00 on January 1, 1970, Coordinated Universal Time (UTC)"
   (string-right-trim
    '(#\newline #\return)
    (uffi:convert-from-cstring
     (uffi:with-foreign-object (time 'time-t)
-                             (setf (uffi:deref-pointer time :unsigned-long)
-                                   secs)
-                             (c-time time)))))
+      (setf (uffi:deref-pointer time :unsigned-long) secs)
+      (asctime (gmtime time))))))
 
+(deftest time.3
+    (posix-time-to-asctime 0)
+  "Thu Jan  1 00:00:00 1970")