diff options
author | Patrick Griffis <tingping@tingping.se> | 2016-01-28 22:49:23 -0500 |
---|---|---|
committer | Patrick Griffis <tingping@tingping.se> | 2016-01-28 22:49:23 -0500 |
commit | 35d238ad3a48b07c0c204b22305f00805c190111 (patch) | |
tree | dd894406ad78b5431b18e09aa31ecc12ea19c14f /src | |
parent | 2c8729becdeef0ff4eea580cc92aa6ccfa085e22 (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')
-rw-r--r-- | src/common/proto-irc.c | 5 |
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; |