summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--irc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/irc.c b/irc.c
index 78b1ed5..508678e 100644
--- a/irc.c
+++ b/irc.c
@@ -131,7 +131,11 @@ retry:
 	read = tls_read(client, &buf[len], sizeof(buf) - len);
 	if (read == TLS_WANT_POLLIN || read == TLS_WANT_POLLOUT) goto retry;
 	if (read < 0) errx(EX_IOERR, "tls_read: %s", tls_error(client));
-	if (!read) errx(EX_PROTOCOL, "unexpected eof");
+	if (!read) {
+		if (!self.quit) errx(EX_PROTOCOL, "unexpected eof");
+		uiExit();
+		exit(EX_OK);
+	}
 	len += read;
 
 	char *crlf;