Jelajahi Sumber

* Fixed a small logic bug in got_jn

svn: 506
Bryan Drewery 22 tahun lalu
induk
melakukan
a6cdc83619
1 mengubah file dengan 6 tambahan dan 5 penghapusan
  1. 6 5
      src/mod/channels.mod/channels.c

+ 6 - 5
src/mod/channels.mod/channels.c

@@ -362,13 +362,14 @@ static void got_jn(int idx, char *code, char *par)
   chname = newsplit(&par);
   if (!chname || !chname[0]) return;
   if (!(chan = findchan_by_dname(chname))) return;
-  
-  chan->status &= ~CHAN_INACTIVE;
-  chan->channel.jointime = 0;
+  if (chan->channel.jointime && channel_inactive(chan)) {
+    chan->status &= ~CHAN_INACTIVE;
+    chan->channel.jointime = 0;
 #ifdef LEAF
-  if (shouldjoin(chan) && !channel_active(chan))
-   dprintf(DP_MODE, "JOIN %s %s\n", chan->name, chan->key_prot);
+    if (shouldjoin(chan) && !channel_active(chan))
+     dprintf(DP_MODE, "JOIN %s %s\n", chan->name, chan->key_prot);
 #endif /* LEAF */
+  }
 }
 
 static void *channel_malloc(int size, char *file, int line)