added MODE_AUDITORIUM /names refresh on op/deop
[ircu2.10.12-pk.git] / ircd / m_svsjoin.c
index 94156fdcd42ed0d9b14149ac06bc05d0fc471f0b..f79e4cc271ec5afdb6e9825d699b30244e006fe1 100644 (file)
@@ -87,7 +87,7 @@ int m_svsjoin(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
         send_reply(acptr, RPL_TOPIC, chptr->chname, chptr->topic);
         send_reply(acptr, RPL_TOPICWHOTIME, chptr->chname, chptr->topic_nick, chptr->topic_time);
     }
-    do_names(acptr, chptr, NAMES_ALL|NAMES_EON);
+    do_names(acptr, chptr, NAMES_ALL|NAMES_EON|(((chptr->mode.mode & MODE_AUDITORIUM) && !(flags & CHFL_CHANOP)) ? NAMES_OPS : 0));
 
     joinbuf_flush(&join);
     joinbuf_flush(&create);
@@ -154,7 +154,7 @@ signed int ms_svsjoin(struct Client* cptr, struct Client* sptr, signed int parc,
         send_reply(acptr, RPL_TOPIC, chptr->chname, chptr->topic);
         send_reply(acptr, RPL_TOPICWHOTIME, chptr->chname, chptr->topic_nick, chptr->topic_time);
     }
-    do_names(acptr, chptr, NAMES_ALL|NAMES_EON);
+    do_names(acptr, chptr, NAMES_ALL|NAMES_EON|(((chptr->mode.mode & MODE_AUDITORIUM) && !(flags & CHFL_CHANOP)) ? NAMES_OPS : 0));
 
     joinbuf_flush(&join);
     joinbuf_flush(&create);