summary refs log tree commit diff
diff options
context:
space:
mode:
authorC. McEnroe2020-02-16 18:31:50 -0500
committerC. McEnroe2020-02-16 18:31:50 -0500
commitedd88554184ad10a6d3815a07d8d62eac218a2b3 (patch)
tree080a93ae1a11fd16b592072116dba6964041f1d0
parent09cd9a300f599c5e382fff42d207103b7e0f0caa (diff)
Track EXCEPTS and INVEX modes
-rw-r--r--chat.h2
-rw-r--r--handle.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/chat.h b/chat.h
index b14a65a..adde642 100644
--- a/chat.h
+++ b/chat.h
@@ -93,6 +93,8 @@ extern struct Network {
 	char *paramModes;
 	char *setParamModes;
 	char *channelModes;
+	char excepts;
+	char invex;
 } network;
 
 extern struct Self {
diff --git a/handle.c b/handle.c
index d4f615e..6de7fd0 100644
--- a/handle.c
+++ b/handle.c
@@ -228,6 +228,10 @@ static void handleReplyISupport(struct Message *msg) {
 			set(&network.paramModes, strsep(&msg->params[i], ","));
 			set(&network.setParamModes, strsep(&msg->params[i], ","));
 			set(&network.channelModes, strsep(&msg->params[i], ","));
+		} else if (!strcmp(key, "EXCEPTS")) {
+			network.excepts = (msg->params[i] ? msg->params[i][0] : 'e');
+		} else if (!strcmp(key, "INVEX")) {
+			network.invex = (msg->params[i] ? msg->params[i][0] : 'I');
 		}
 	}
 }