From: Kevin M. Rosenberg Date: Wed, 7 Jan 2004 13:29:43 +0000 (+0000) Subject: r8496: make last field for rpl_topicwhotime a utime X-Git-Tag: v0.9.3~31 X-Git-Url: http://git.kpe.io/?p=irc-logger.git;a=commitdiff_plain;h=411d337e9bf17aef3f4a67c37bb9b1fb6aa08c85 r8496: make last field for rpl_topicwhotime a utime --- diff --git a/irc-logger.asd b/irc-logger.asd index 89e883e..b36a25d 100644 --- a/irc-logger.asd +++ b/irc-logger.asd @@ -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")))) diff --git a/logger.lisp b/logger.lisp index 449f154..c434cd3 100644 --- a/logger.lisp +++ b/logger.lisp @@ -251,6 +251,12 @@ ((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) @@ -261,11 +267,7 @@ (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))))