r8496: make last field for rpl_topicwhotime a utime
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 7 Jan 2004 13:29:43 +0000 (13:29 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 7 Jan 2004 13:29:43 +0000 (13:29 +0000)
irc-logger.asd
logger.lisp

index 89e883e03d3f4243dffb9cd555a48446c96ce5b6..b36a25d145f300f3e496d3ef5a4de56d8e0d8000 100644 (file)
@@ -7,7 +7,7 @@
 (in-package irc-logger-system)
 
 (defsystem irc-logger
-    :depends-on (cl-irc cl-ppcre uffi)
+    :depends-on (cl-irc cl-ppcre)
     :components ((:file "package")
                 (:file "logger" :depends-on ("package"))))
 
index 449f154a08e97c76b37f1e0c0e4c43b87347b252..c434cd3577a810f56db5b968616fe7f27963cf58 100644 (file)
     ((time (* time-t)))
   :returning :cstring)
 
+(defconstant +posix-epoch+
+  (encode-universal-time 0 0 0 1 1 1970 0))
+
+(defun posix-time-to-utime (time)
+  (+ time +posix-epoch+))
+
 (defun last-sexp-field (type msg)
   (cond
    ((null msg)
     (when (stringp (car (last (arguments msg))))
       (let ((secs (parse-integer (car (last (arguments msg))) :junk-allowed t)))
        (when secs
-         (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-ctime time))))))))
+         (posix-time-to-utime secs)))))
    ((need-user-address? type)
     (user-address msg))))