X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=logger.lisp;h=c434cd3577a810f56db5b968616fe7f27963cf58;hb=411d337e9bf17aef3f4a67c37bb9b1fb6aa08c85;hp=449f154a08e97c76b37f1e0c0e4c43b87347b252;hpb=bf7cb3143da8886c3671d2ce007487b0a93ebbcd;p=irc-logger.git 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))))