summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--state.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/state.c b/state.c
index b1f84ad..f51a09b 100644
--- a/state.c
+++ b/state.c
@@ -259,7 +259,16 @@ static bool originSelf(const char *origin) {
 
 static void handleNick(struct Message *msg) {
 	require(msg, true, 1);
-	if (originSelf(msg->origin)) set(&self.nick, msg->params[0]);
+	if (!originSelf(msg->origin)) return;
+	set(&self.nick, msg->params[0]);
+
+	char *rest = strchr(self.origin, '!');
+	assert(rest);
+	size_t size = strlen(self.nick) + strlen(rest) + 1;
+	char *origin = malloc(size);
+	if (!origin) err(EX_OSERR, "malloc");
+	snprintf(origin, size, "%s%s", self.nick, rest);
+	set(&self.origin, origin);
 }
 
 static void handleJoin(struct Message *msg) {
t/txt/plan.7?id=8ca4eab26275403fd0b465f746ffe1bd41855aa7&follow=1'>Add password non-manager to planJune McEnroe I've had this idea for years... 2020-06-26Tweak TF2 sensitivities once moreJune McEnroe 2020-06-19Add note about litterbox bot useJune McEnroe 2020-06-19Publish "IRC suite"June McEnroe 2020-06-17Add errors to link.shJune McEnroe