summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--client.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/client.c b/client.c
index 6bbfdb5..bb1704f 100644
--- a/client.c
+++ b/client.c
@@ -162,6 +162,13 @@ static void handleCap(struct Client *client, struct Message msg) {
 	}
 }
 
+static void handleQuit(struct Client *client, struct Message msg) {
+	(void)msg;
+	clientFormat(client, "ERROR :Detaching\r\n");
+	client->error = true;
+	// TODO: Set AWAY if no more clients attached.
+}
+
 static const struct {
 	const char *cmd;
 	Handler *fn;
@@ -169,6 +176,7 @@ static const struct {
 	{ "CAP", handleCap },
 	{ "NICK", handleNick },
 	{ "PASS", handlePass },
+	{ "QUIT", handleQuit },
 	{ "USER", handleUser },
 };
 
@@ -189,6 +197,7 @@ static void clientParse(struct Client *client, char *line) {
 
 static bool intercept(const char *line, size_t len) {
 	if (len >= 4 && !memcmp(line, "CAP ", 4)) return true;
+	if (len >= 5 && !memcmp(line, "QUIT ", 5)) return true;
 	// TODO: Intercept PRIVMSG to send to other clients.
 	return false;
 }
td> 2017-08-08Reverse order of main loopJune McEnroe 2017-08-08Turn off SIGPIPE at the socket levelJune McEnroe I imagine it's better to not generate SIGPIPE at all rather than generate and ignore. 2017-08-06Rewrite helpJune McEnroe This code is still terrible. 2017-08-04Use $() in snapshot.shJune McEnroe I don't know why I wrote ``. 2017-08-02Move in insert direction on ~June McEnroe 2017-08-02Preserve color on replaceJune McEnroe 2017-08-02Split tile access and modifyJune McEnroe 2017-08-01Madvise RANDOM and NOSYNCJune McEnroe 2017-07-31Fix removing clients from clientCastJune McEnroe 2017-07-31Build with debug infoJune McEnroe 2017-07-31Don't dump tiles in coreJune McEnroe 2017-07-31Use designated initializers for messagesJune McEnroe I did not realize this syntax was so powerful. 2017-07-31Show other clients' cursorsJune McEnroe Also unfuck removing on send failure. 2017-07-31Perform enter as two moves rather than a loopJune McEnroe 2017-07-31Track tile access countsJune McEnroe 2017-07-31Adjust move speed in clientJune McEnroe 2017-07-31Handle large movesJune McEnroe 2017-07-30Optimize builds for chrootJune McEnroe 2017-07-30Persist bright across color changesJune McEnroe 2017-07-30Add index.htmlJune McEnroe 2017-07-30Add snapshot.shJune McEnroe 2017-07-30Fix termcap patch for background colorsJune McEnroe 2017-07-30Update helpJune McEnroe 2017-07-30Fix help to track colorJune McEnroe 2017-07-30Support background colorsJune McEnroe 2017-07-30Track color only client-sideJune McEnroe 2017-07-30Add ostensible support for background colorsJune McEnroe 2017-07-30Add tile create and access timestampsJune McEnroe 2017-07-30Assert stable struct Tile field offsetsJune McEnroe 2017-07-30Add chroot.shJune McEnroe 2017-07-30Add ` commandJune McEnroe 2017-07-30Add sshd_configJune McEnroe 2017-07-30Add termcap patchJune McEnroe