r8507: Automated commit for Debian build of irc-logger upstream-version-0.7.2
[irc-logger.git] / logger.lisp
index 449f154a08e97c76b37f1e0c0e4c43b87347b252..d35708b6c540e3783c9ffabd35011a7fb190833f 100644 (file)
     (format stream "~S~%" 
            (string-right-trim '(#\return) (raw-message-string msg)))))
 
-(uffi:def-foreign-type time-t :unsigned-long)
-(uffi:def-function ("ctime" c-ctime) 
-    ((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
     (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))))