r10366: change name of channel class to log-channel
[irc-logger.git] / logger.lisp
index 9a4b8f1b7bb3d82690a7bbe8c9a4d1330694e587..065effa485c76bd7be8931ae2f7fa2b2bb336d36 100644 (file)
@@ -9,7 +9,7 @@
 (defvar *daemon-monitor-process* nil "Process of background monitor.")
 (defparameter *timeout* 60)
 
-(defclass channel ()
+(defclass log-channel ()
   ((name :initarg :name :reader c-name
         :documentation "Name of channel.")
    (streams :initarg :streams :reader streams
       (output-event msg :privmsg channel (trailing-argument msg))))))
 
 (defun action-hook (msg)
-  (output-event msg :action (first (arguments msg))
-               (subseq (trailing-argument msg) 8 
-                       (- (length (trailing-argument msg)) 1))))
+  (let ((end (- (length (trailing-argument msg)) 1)))
+    ;; end has been as low as 7
+    (when (< end 8)
+      (warn "End is less than 8: `$A'." msg))
+    (output-event msg :action (first (arguments msg))
+                 (subseq (trailing-argument msg) (min 8 end)
+                         (- (length (trailing-argument msg)) 1)))))
 
 (defun nick-hook (msg)
   (output-event msg :nick nil (trailing-argument msg)))
 
 
 (defun make-a-channel (name formats output)
-  (make-instance 'channel
+  (make-instance 'log-channel
                 :name name
                 :streams (make-array (length formats) :initial-element nil)
                 :output-root (when (and (pathnamep output)
   (let ((text (trailing-argument msg))
        (logger (find-logger-with-connection (connection msg))))
     (when (and (stringp text) 
-              (zerop (search (format nil "Closing Link: ~A" (l-nickname logger)) text)))
+              (eql 0 (search (format nil "Closing Link: ~A"
+                                     (l-nickname logger)) text)))
       (setf (warning-message-utime logger) (received-time msg)))
     (output-event msg :error nil (trailing-argument msg))))