From 7d78c6bca0e7f8dc08ed0b0e950ab231d5bf6687 Mon Sep 17 00:00:00 2001
From: Patrick Griffis <tingping@tingping.se>
Date: Sat, 18 Feb 2017 21:42:48 -0500
Subject: Better handle mode numerics starting with :

These are still awful but until we have a real parser..

Fixes inspircd/inspircd#1295
---
 src/common/proto-irc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src')

diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c
index 8e0d0ec1..969ac2e4 100644
--- a/src/common/proto-irc.c
+++ b/src/common/proto-irc.c
@@ -664,7 +664,7 @@ process_numeric (session * sess, int n,
 		if (sess->ignore_mode)
 			sess->ignore_mode = FALSE;
 		else
-			EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANMODES, sess, word[4], word_eol[5],
+			EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANMODES, sess, word[4], (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5],
 										  NULL, NULL, 0, tags_data->timestamp);
 		fe_update_mode_buttons (sess, 'c', '-');
 		fe_update_mode_buttons (sess, 't', '-');
@@ -692,7 +692,7 @@ process_numeric (session * sess, int n,
 			if (sess->ignore_date)
 				sess->ignore_date = FALSE;
 			else
-				channel_date (sess, word[4], word[5], tags_data);
+				channel_date (sess, word[4], (word[5][0] == ':') ? word[5] + 1 : word[5], tags_data);
 		}
 		break;
 
-- 
cgit 1.4.1