summary refs log tree commit diff stats
path: root/src/common/proto-irc.c
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2017-02-18 21:42:48 -0500
committerPatrick Griffis <tingping@tingping.se>2017-02-18 21:45:38 -0500
commit7d78c6bca0e7f8dc08ed0b0e950ab231d5bf6687 (patch)
tree528dd79d848a1b3d33c0e9e264bd992f9456e104 /src/common/proto-irc.c
parentb1e963f563c42b7df820e74d231680089127e4ff (diff)
Better handle mode numerics starting with :
These are still awful but until we have a real parser..

Fixes inspircd/inspircd#1295
Diffstat (limited to 'src/common/proto-irc.c')
-rw-r--r--src/common/proto-irc.c4
1 files changed, 2 insertions, 2 deletions
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;