src/irc_conn.c
changeset 49 96e0f703a58c
parent 48 4841f4398fd2
child 75 ff6272398d2e
--- a/src/irc_conn.c	Thu Mar 12 23:54:03 2009 +0200
+++ b/src/irc_conn.c	Fri Mar 13 00:01:12 2009 +0200
@@ -138,6 +138,11 @@
 
     // EOF after quit?
     if (ERROR_CODE(err) == ERR_READ_EOF && conn->quitting) {
+        // udpate states
+        conn->registered = false;
+        conn->quitting = false;
+        conn->quit = true;
+
         // callback
         if (conn->callbacks.on_quit)
             conn->callbacks.on_quit(conn, conn->cb_arg);
@@ -306,7 +311,7 @@
     };
     
     // state check
-    if (conn->quitting)
+    if (conn->quitting || conn->quit)
         return ERR_IRC_CONN_QUIT_STATE;
     
     // try and send