]> arthur.barton.de Git - ngircd-alex.git/commitdiff
Reset client idle time on NICK, JOIN, and PART
authorAlexander Barton <alex@barton.de>
Sat, 24 May 2008 19:50:54 +0000 (21:50 +0200)
committerAlexander Barton <alex@barton.de>
Sat, 24 May 2008 19:50:54 +0000 (21:50 +0200)
src/ngircd/irc-channel.c
src/ngircd/irc-login.c

index e95999275aaab341c5a40252754d7343efa99df7..92dd8cd37559908da502f289cdee024b65cfe97b 100644 (file)
@@ -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 */
 
index e94b62fe00e35d01789e9382bfc533d4d0fd15d6..362a133c858518b7ee0640d1cc3ac96addaf1026 100644 (file)
@@ -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
                        {