diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c index e9599927..92dd8cd3 100644 --- a/src/ngircd/irc-channel.c +++ b/src/ngircd/irc-channel.c @@ -26,6 +26,7 @@ static char UNUSED id[] = "$Id: irc-channel.c,v 1.45 2008/02/24 18:57:38 fw Exp #include "conn.h" #include "client.h" #include "channel.h" +#include "conn-func.h" #include "lists.h" #include "log.h" #include "match.h" @@ -253,6 +254,9 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req ) } else if (!join_allowed(Client, target, chan, channame, key)) break; + + /* Local client: update idle time */ + Conn_UpdateIdle(Client_Conn(Client)); } else { /* Remote server: we don't need to know whether the * client is invited or not, but we have to make sure @@ -333,6 +337,11 @@ IRC_PART(CLIENT * Client, REQUEST * Req) Req->argc > 1 ? Req->argv[1] : Client_ID(target)); chan = strtok(NULL, ","); } + + /* Update idle time, if local client */ + if (Client_Conn(Client) > NONE) + Conn_UpdateIdle(Client_Conn(Client)); + return CONNECTED; } /* IRC_PART */ diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c index e94b62fe..362a133c 100644 --- a/src/ngircd/irc-login.c +++ b/src/ngircd/irc-login.c @@ -256,13 +256,13 @@ IRC_NICK( CLIENT *Client, REQUEST *Req ) else { /* Nickname change */ - if( Client_Conn( target ) > NONE ) - { + if (Client_Conn(target) > NONE) { /* Local client */ - Log( LOG_INFO, - "User \"%s\" changed nick (connection %d): \"%s\" -> \"%s\".", - Client_Mask( target ), Client_Conn( target ), - Client_ID( target ), Req->argv[0] ); + Log(LOG_INFO, + "User \"%s\" changed nick (connection %d): \"%s\" -> \"%s\".", + Client_Mask(target), Client_Conn(target), + Client_ID(target), Req->argv[0]); + Conn_UpdateIdle(Client_Conn(target)); } else {