Ver Fonte

* Group +ebI MODE check into 1 MODE line

Bryan Drewery há 16 anos atrás
pai
commit
d430afc291
1 ficheiros alterados com 7 adições e 3 exclusões
  1. 7 3
      src/mod/irc.mod/irc.c

+ 7 - 3
src/mod/irc.mod/irc.c

@@ -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.