r9363: fix time example, add new test
[uffi.git] / tests / time.lisp
index aeedba089c3f813bcf1f194fe435c29dd2832e4f..24a3af205c0d9483497a687a106db3049d37d3f1 100644 (file)
     ((time (* time-t)))
   :returning time-t)
 
-(uffi:def-function ("gmtime" c-gmtime)
+(uffi:def-function "gmtime"
     ((time (* time-t)))
   :returning (* tm))
 
+(uffi:def-function "asctime"
+    ((time (* tm)))
+  :returning :cstring)
+
 (uffi:def-type time-t :unsigned-long)
 (uffi:def-type tm-pointer (* tm))
 
@@ -48,7 +52,7 @@
 (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))))
+     (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))
             (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")