New custom channel mode API allowing reloading such modules.
Additionally, attempting to use too many modes or two times the same letter is now detected and prevented. Modules now request that a channel mode be added/orphaned, instead of ugly manipulation from which that request had to be guessed. Slight changes are needed to modules that provide channel modes. From the old API, one important function has been made static, the other important function has been renamed, so loading old modules should fail safely.
This commit is contained in:
parent
4c3f0955bf
commit
19716b9fd6
7 changed files with 59 additions and 63 deletions
|
@ -73,9 +73,9 @@ extern void chm_voice(struct Client *source_p, struct Channel *chptr,
|
|||
int alevel, int parc, int *parn,
|
||||
const char **parv, int *errors, int dir, char c, long mode_type);
|
||||
|
||||
extern void construct_noparam_modes(void);
|
||||
extern void find_orphaned_cflags(void);
|
||||
extern unsigned int find_cflag_slot(void);
|
||||
extern unsigned int cflag_add(char c, ChannelModeFunc function);
|
||||
extern void cflag_orphan(char c);
|
||||
extern void construct_cflags_strings(void);
|
||||
extern char cflagsbuf[256];
|
||||
extern char cflagsmyinfo[256];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue