summary refs log tree commit diff stats
path: root/src/common
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2016-01-28 22:49:23 -0500
committerPatrick Griffis <tingping@tingping.se>2016-01-28 22:49:23 -0500
commit35d238ad3a48b07c0c204b22305f00805c190111 (patch)
treedd894406ad78b5431b18e09aa31ecc12ea19c14f /src/common
parent2c8729becdeef0ff4eea580cc92aa6ccfa085e22 (diff)
Properly handle a few args optionally starting with :
This is a pervasive problem that will likely show up in
other events also.

Closes #1460
Diffstat (limited to 'src/common')
-rw-r--r--src/common/proto-irc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c
index 57dc587b..6fe601ed 100644
--- a/src/common/proto-irc.c
+++ b/src/common/proto-irc.c
@@ -569,7 +569,8 @@ process_numeric (session * sess, int n,
 		inbound_user_info_start (sess, word[4], tags_data);
 		if (!serv->skip_next_whois)
 			EMIT_SIGNAL_TIMESTAMP (XP_TE_WHOIS1, whois_sess, word[4], word[5],
-										  word[6], word_eol[8] + 1, 0, tags_data->timestamp);
+										  word[6], (word_eol[8][0] == ':') ? word_eol[8] + 1 : word_eol[8],
+										  0, tags_data->timestamp);
 		else
 			inbound_user_info (sess, NULL, word[5], word[6], NULL, word[4],
 									 word_eol[8][0] == ':' ? word_eol[8] + 1 : word_eol[8],
@@ -679,7 +680,7 @@ process_numeric (session * sess, int n,
 		sess = find_channel (serv, word[4]);
 		if (sess)
 		{
-			EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANURL, sess, word[4], word[5] + 1,
+			EMIT_SIGNAL_TIMESTAMP (XP_TE_CHANURL, sess, word[4], (word_eol[5][0] == ':') ? word_eol[5] + 1 : word_eol[5],
 									NULL, NULL, 0, tags_data->timestamp); 
 		}
 		break;