projects
/
ircu2.10.12-pk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added MODE_AUDITORIUM /names refresh on op/deop
[ircu2.10.12-pk.git]
/
ircd
/
channel.c
diff --git
a/ircd/channel.c
b/ircd/channel.c
index d1511be47ab30321f726109593655e20f5a2b071..c839fa2285c650bcae9ce27e3b082997c96d2e5c 100644
(file)
--- a/
ircd/channel.c
+++ b/
ircd/channel.c
@@
-2339,9
+2339,9
@@
struct ParseState {
struct Membership *member;
int parc;
char **parv;
struct Membership *member;
int parc;
char **parv;
- u
nsigned int
flags;
+ u
long64
flags;
ulong64 dir;
ulong64 dir;
- u
nsigned int
done;
+ u
long64
done;
ulong64 add;
ulong64 del;
int args_used;
ulong64 add;
ulong64 del;
int args_used;
@@
-2349,7
+2349,7
@@
struct ParseState {
int numbans;
struct Ban banlist[MAXPARA];
struct {
int numbans;
struct Ban banlist[MAXPARA];
struct {
- u
nsigned int
flag;
+ u
long64
flag;
unsigned short oplevel;
struct Client *client;
} cli_change[MAXPARA];
unsigned short oplevel;
struct Client *client;
} cli_change[MAXPARA];
@@
-3515,6
+3515,10
@@
mode_process_clients(struct ParseState *state)
modebuf_mode_client(state->mbuf, state->cli_change[i].flag,
state->cli_change[i].client,
state->cli_change[i].oplevel);
modebuf_mode_client(state->mbuf, state->cli_change[i].flag,
state->cli_change[i].client,
state->cli_change[i].oplevel);
+
+ if(MyUser(state->sptr) && (state->chptr->mode.mode & MODE_AUDITORIUM) && (state->cli_change[i].flag & MODE_CHANOP)) {
+ do_names(state->sptr, state->chptr, NAMES_ALL|NAMES_EON|((member->status & MODE_CHANOP) ? 0 : NAMES_OPS));
+ }
} /* for (i = 0; state->cli_change[i].flags; i++) */
}
} /* for (i = 0; state->cli_change[i].flags; i++) */
}