[cl-irc-cvs] CVS cl-irc

ehuelsmann ehuelsmann at common-lisp.net
Mon Jan 30 19:51:12 UTC 2006


Update of /project/cl-irc/cvsroot/cl-irc
In directory common-lisp:/tmp/cvs-serv28092

Modified Files:
	protocol.lisp 
Log Message:
Satisfy read-message-loop assumption of read-message NIL return on eof.

--- /project/cl-irc/cvsroot/cl-irc/protocol.lisp	2006/01/27 21:10:02	1.31
+++ /project/cl-irc/cvsroot/cl-irc/protocol.lisp	2006/01/30 19:51:12	1.32
@@ -1,4 +1,4 @@
-;;;; $Id: protocol.lisp,v 1.31 2006/01/27 21:10:02 ehuelsmann Exp $
+;;;; $Id: protocol.lisp,v 1.32 2006/01/30 19:51:12 ehuelsmann Exp $
 ;;;; $Source: /project/cl-irc/cvsroot/cl-irc/protocol.lisp,v $
 
 ;;;; See LICENSE for licensing information.
@@ -244,7 +244,8 @@
     (let ((message (read-irc-message connection)))
       (when *debug-p*
         (format *debug-stream* "~A" (describe message)))
-      (irc-message-event connection message)
+      (when message
+        (irc-message-event connection message))
       message))) ; needed because of the "loop while" in read-message-loop
 
 (defvar *process-count* 0)
@@ -293,10 +294,13 @@
 
 (defmethod read-irc-message ((connection connection))
   "Read and parse an IRC-message from the `connection'."
-  (let ((message (create-irc-message
-                  (read-line (network-stream connection) t))))
-    (setf (connection message) connection)
-    message))
+  (handler-case
+    (let ((message (create-irc-message
+                    (read-line (network-stream connection) t))))
+      (setf (connection message) connection)
+      message)
+    (end-of-file)))
+       ;; satisfy read-message-loop assumption of nil when no more messages
 
 (defmethod send-irc-message ((connection connection) command
                              &optional trailing-argument &rest arguments)




More information about the cl-irc-cvs mailing list