Commit Diff


commit - e19f7a8c1937c4d0f6699236daf505ccfbed3644
commit + 956bbe2c2856259756557bbffb41b0bd4c8d347c
blob - e95999275aaab341c5a40252754d7343efa99df7
blob + 92dd8cd37559908da502f289cdee024b65cfe97b
--- src/ngircd/irc-channel.c
+++ src/ngircd/irc-channel.c
@@ -26,6 +26,7 @@ static char UNUSED id[] = "$Id: irc-channel.c,v 1.45 2
 #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 */
 
blob - e94b62fe00e35d01789e9382bfc533d4d0fd15d6
blob + 362a133c858518b7ee0640d1cc3ac96addaf1026
--- src/ngircd/irc-login.c
+++ 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
 			{