don't forward users if they are already in the target channel (mode +F)
authorpk910 <philipp@zoelle1.de>
Thu, 20 Oct 2011 19:04:14 +0000 (21:04 +0200)
committerpk910 <philipp@zoelle1.de>
Thu, 20 Oct 2011 19:04:14 +0000 (21:04 +0200)
ircd/m_join.c

index 88681c75edcda1e428be9267f6aa212a015f104f..db04f6788ebf16ca4cfd6a954517ddb94ec7d21a 100644 (file)
@@ -287,6 +287,8 @@ int m_join(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
                    do_names(sptr, chptrb, NAMES_ALL|NAMES_EON);
                  }
                } else {
+          if(find_member_link(chptrb, sptr))
+            continue; //we have already joined this channel
                  //first of all check if we may even join this channel
                  int err2 = 0;
                  if (chptrb->users == 0 && !chptrb->mode.apass[0] && !(chptrb->mode.mode & MODE_PERSIST)) {