]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/channels.cpp
Fix this so it works, passes test case. Provide a method to query for a bit and to...
[user/henk/code/inspircd.git] / src / channels.cpp
index 9ef1180c6fb0599dc308dfea5515d7a1dbf3afa0..948b49a0bf5556edc3f7b606ca679b7b92c8d413 100644 (file)
@@ -30,6 +30,7 @@ chanrec::chanrec(InspIRCd* Instance) : ServerInstance(Instance)
        created = topicset = limit = 0;
        internal_userlist.clear();
        memset(&modes,0,64);
+       age = ServerInstance->Time(true);
 }
 
 void chanrec::SetMode(char mode,bool mode_on)
@@ -225,7 +226,11 @@ chanrec* chanrec::JoinUser(InspIRCd* Instance, userrec *user, const char* cn, bo
                Instance->chanlist[cname] = Ptr;
 
                strlcpy(Ptr->name, cname,CHANMAX);
-               Ptr->modes[CM_TOPICLOCK] = Ptr->modes[CM_NOEXTERNAL] = 1;
+
+               /* As spotted by jilles, dont bother to set this on remote users */
+               if (IS_LOCAL(user))
+                       Ptr->modes[CM_TOPICLOCK] = Ptr->modes[CM_NOEXTERNAL] = 1;
+
                Ptr->created = Instance->Time();
                *Ptr->topic = 0;
                *Ptr->setby = 0;