aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kvirc/sparser/kvi_sp_numeric.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/kvirc/sparser/kvi_sp_numeric.cpp b/src/kvirc/sparser/kvi_sp_numeric.cpp
index 52b493445..a45acc65e 100644
--- a/src/kvirc/sparser/kvi_sp_numeric.cpp
+++ b/src/kvirc/sparser/kvi_sp_numeric.cpp
@@ -1507,8 +1507,11 @@ void KviServerParser::parseNumericWhoisAuth(KviIrcMessage *msg)
void KviServerParser::parseNumericWhoisActually(KviIrcMessage *msg)
{
- // 338: RPL_WHOISACTUALLY [U]
+ // 338: RPL_WHOISACTUALLY
+ // u2 (irc-hispano)
// :prefix 338 <target> <nick> <user@host> <ip address> :Actual user@host, Actual IP
+ // ratbox (efnet)
+ // :prefix 338 <target> <nick> <host/ip address> :actually using host
// FIXME: #warning "and NICK LINKS"
msg->connection()->stateData()->setLastReceivedWhoisReply(kvi_unixTime());
@@ -1531,9 +1534,16 @@ void KviServerParser::parseNumericWhoisActually(KviIrcMessage *msg)
{
KviWindow * pOut = KVI_OPTION_BOOL(KviOption_boolWhoisRepliesToActiveWindow) ?
msg->console()->activeWindow() : (KviWindow *)(msg->console());
- pOut->output(
- KVI_OUT_WHOISOTHER,__tr2qs("%c\r!n\r%Q\r%c's actual user@host: %Q, actual ip: %Q"),KVI_TEXT_BOLD,
- &szNick,KVI_TEXT_BOLD, &szUserHost, &szIpAddr);
+ if(szOth.contains(QChar(',')))
+ {
+ pOut->output(
+ KVI_OUT_WHOISOTHER,__tr2qs("%c\r!n\r%Q\r%c's actual user@host: %Q, actual ip: %Q"),KVI_TEXT_BOLD,
+ &szNick,KVI_TEXT_BOLD, &szUserHost, &szIpAddr);
+ } else {
+ pOut->output(
+ KVI_OUT_WHOISOTHER,__tr2qs("%c\r!n\r%Q\r%c's actual host: %Q"),KVI_TEXT_BOLD,
+ &szNick,KVI_TEXT_BOLD, &szUserHost);
+ }
}
}