|
|
@@ -1286,6 +1286,25 @@ any_ops(struct chanset_t *chan)
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
+static void get_channel_masks(struct chanset_t* chan) {
|
|
|
+ if (!(chan->status & CHAN_ASKEDBANS)) {
|
|
|
+ chan->status |= CHAN_ASKEDBANS;
|
|
|
+ dprintf(DP_MODE, "MODE %s +b\n", chan->name);
|
|
|
+ }
|
|
|
+
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/* Reset the channel information.
|
|
|
*/
|
|
|
void
|
|
|
@@ -1313,22 +1332,7 @@ reset_chan_info(struct chanset_t *chan)
|
|
|
/* don't bother checking bans if it's +take */
|
|
|
if (!channel_take(chan)) {
|
|
|
if (opped) {
|
|
|
- if (!(chan->status & CHAN_ASKEDBANS)) {
|
|
|
- chan->status |= CHAN_ASKEDBANS;
|
|
|
- dprintf(DP_MODE, "MODE %s +b\n", chan->name);
|
|
|
- }
|
|
|
-
|
|
|
- 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);
|
|
|
- }
|
|
|
- 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);
|
|
|
- }
|
|
|
- }
|
|
|
+ get_channel_masks(chan);
|
|
|
}
|
|
|
}
|
|
|
/* These 2 need to get out asap, so into the mode queue */
|