|
|
@@ -1287,22 +1287,26 @@ any_ops(struct chanset_t *chan)
|
|
|
}
|
|
|
|
|
|
static void get_channel_masks(struct chanset_t* chan) {
|
|
|
+ bd::String tocheck(size_t(4));
|
|
|
if (!(chan->status & CHAN_ASKEDBANS)) {
|
|
|
chan->status |= CHAN_ASKEDBANS;
|
|
|
- dprintf(DP_MODE, "MODE %s +b\n", chan->name);
|
|
|
+ tocheck += 'b';
|
|
|
}
|
|
|
|
|
|
if (do_eI) {
|
|
|
chan->channel.last_eI = now;
|
|
|
if (!(chan->ircnet_status & CHAN_ASKED_EXEMPTS) && use_exempts == 1) {
|
|
|
chan->ircnet_status |= CHAN_ASKED_EXEMPTS;
|
|
|
- dprintf(DP_MODE, "MODE %s +e\n", chan->name);
|
|
|
+ tocheck += 'e';
|
|
|
}
|
|
|
if (!(chan->ircnet_status & CHAN_ASKED_INVITES) && use_invites == 1) {
|
|
|
chan->ircnet_status |= CHAN_ASKED_INVITES;
|
|
|
- dprintf(DP_MODE, "MODE %s +I\n", chan->name);
|
|
|
+ tocheck += 'I';
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (tocheck.length())
|
|
|
+ dprintf(DP_MODE, "MODE %s +%s\n", chan->name, tocheck.c_str());
|
|
|
}
|
|
|
|
|
|
/* Reset the channel information.
|