summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-02-02 02:30:35 -0500
committerJune McEnroe <june@causal.agency>2020-02-02 02:30:35 -0500
commit14066b79d424561b0ab4be74574edf6fae422378 (patch)
tree900d4d65fedc1f5b7b6fb3ad33d9f8b70698e5eb
parentCall reset_shell_mode on err (diff)
downloadcatgirl-14066b79d424561b0ab4be74574edf6fae422378.tar.gz
catgirl-14066b79d424561b0ab4be74574edf6fae422378.zip
Handle nickname errors
Diffstat (limited to '')
-rw-r--r--handle.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/handle.c b/handle.c
index 9157419..350a636 100644
--- a/handle.c
+++ b/handle.c
@@ -85,6 +85,17 @@ static const struct tm *tagTime(const struct Message *msg) {
 
 typedef void Handler(struct Message *msg);
 
+static void handleErrorNicknameInUse(struct Message *msg) {
+	if (self.nick) return;
+	require(msg, false, 2);
+	ircFormat("NICK :%s_\r\n", msg->params[1]);
+}
+
+static void handleErrorErroneousNickname(struct Message *msg) {
+	require(msg, false, 3);
+	errx(EX_CONFIG, "%s: %s", msg->params[1], msg->params[2]);
+}
+
 static void handleCap(struct Message *msg) {
 	require(msg, false, 3);
 	enum Cap caps = capParse(msg->params[2]);
@@ -178,6 +189,8 @@ static const struct Handler {
 	{ "001", handleReplyWelcome },
 	{ "005", handleReplyISupport },
 	{ "372", handleReplyMOTD },
+	{ "432", handleErrorErroneousNickname },
+	{ "433", handleErrorNicknameInUse },
 	{ "900", handleReplyLoggedIn },
 	{ "904", handleErrorSASLFail },
 	{ "905", handleErrorSASLFail },
girl/commit/chat.c?h=1.4&id=a2ea9a9035603f1971058a80afb1fad8fff63a26&follow=1'>Continue on EINTR from pollJune McEnroe 2018-08-03Handle ACTIONsJune McEnroe 2018-08-03Use more octal char literalsJune McEnroe 2018-08-03Send a WHO in response to NAMES to get usernamesJune McEnroe 2018-08-03Colorize nicks and channelsJune McEnroe 2018-08-03Add support for mIRC colorsJune McEnroe 2018-08-03Handle bold, italic, underlineJune McEnroe 2018-08-03Add prift function for "prefix shift"June McEnroe 2018-08-03Link with -lcurseswJune McEnroe 2018-08-02Use libtls "compat" ciphersJune McEnroe 2018-08-02Add UI and handle some kinds of server messagesJune McEnroe 2018-08-02Add chroot.tar targetJune McEnroe