Avoid sending numeric oplevels when forwarding a -A channel's burst.
[ircu2.10.12-pk.git] / ircd / m_burst.c
index 0e2d61307c12bc594b6ea7293c738adbe6529f4a..622b3151287c5bc827ec69592b3c80294038ec2d 100644 (file)
@@ -472,7 +472,12 @@ int ms_burst(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
            if (current_mode & CHFL_VOICE)
              nickstr[nickpos++] = 'v';
            if (current_mode & CHFL_CHANOP)
-             nickpos += ircd_snprintf(0, nickstr + nickpos, sizeof(nickstr) - nickpos, "%u", oplevel);
+            {
+              if (chptr->mode.apass[0])
+               nickpos += ircd_snprintf(0, nickstr + nickpos, sizeof(nickstr) - nickpos, "%u", oplevel);
+              else
+                nickstr[nickpos++] = 'o';
+            }
          } else if (current_mode & CHFL_CHANOP && oplevel != last_oplevel) { /* if just op level changed... */
            nickstr[nickpos++] = ':'; /* add a specifier */
            nickpos += ircd_snprintf(0, nickstr + nickpos, sizeof(nickstr) - nickpos, "%u", oplevel - last_oplevel);