|
@@ -1346,7 +1346,7 @@ static void send_chan_who(int queue, struct chanset_t *chan) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void join_chan(struct chanset_t* chan, int idx) {
|
|
void join_chan(struct chanset_t* chan, int idx) {
|
|
|
- if (shouldjoin(chan) && !channel_joining(chan)) {
|
|
|
|
|
|
|
+ if (shouldjoin(chan) && !(chan->status & (CHAN_ACTIVE | CHAN_PEND | CHAN_JOINING))) {
|
|
|
dprintf(idx, "JOIN %s %s\n",
|
|
dprintf(idx, "JOIN %s %s\n",
|
|
|
(chan->name[0]) ? chan->name : chan->dname,
|
|
(chan->name[0]) ? chan->name : chan->dname,
|
|
|
chan->channel.key[0] ? chan->channel.key : chan->key_prot);
|
|
chan->channel.key[0] ? chan->channel.key : chan->key_prot);
|
|
@@ -1598,9 +1598,8 @@ check_expired_chanstuff(struct chanset_t *chan)
|
|
|
m = n;
|
|
m = n;
|
|
|
}
|
|
}
|
|
|
check_lonely_channel(chan);
|
|
check_lonely_channel(chan);
|
|
|
- } else if (shouldjoin(chan) && !channel_pending(chan)) {
|
|
|
|
|
|
|
+ } else if (shouldjoin(chan))
|
|
|
join_chan(chan);
|
|
join_chan(chan);
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void
|
|
void
|