about summary refs log tree commit diff
path: root/handle.c
diff options
context:
space:
mode:
Diffstat (limited to 'handle.c')
-rw-r--r--handle.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/handle.c b/handle.c
index cf0e853..0297595 100644
--- a/handle.c
+++ b/handle.c
@@ -214,10 +214,17 @@ static void handleJoin(struct Message *msg) {
 		uiShowID(id);
 	}
 	completeTouch(id, msg->nick, hash(msg->user));
+	if (msg->params[2] && !strcasecmp(msg->params[2], msg->nick)) {
+		msg->params[2] = NULL;
+	}
 	uiFormat(
 		id, Cold, tagTime(msg),
-		"\3%02d%s\3\tarrives in \3%02d%s\3",
-		hash(msg->user), msg->nick, hash(msg->params[0]), msg->params[0]
+		"\3%02d%s\3\t%s%s%sarrives in \3%02d%s\3",
+		hash(msg->user), msg->nick,
+		(msg->params[2] ? "(" : ""),
+		(msg->params[2] ? msg->params[2] : ""),
+		(msg->params[2] ? ") " : ""),
+		hash(msg->params[0]), msg->params[0]
 	);
 }