]>
jfr.im git - solanum.git/blob - extensions/chm_operonly_compat.c
2 * Treat cmode +-O as +-iI $o.
12 static int _modinit(void);
13 static void _moddeinit(void);
14 static void chm_operonly(struct Client
*source_p
, struct Channel
*chptr
,
15 int alevel
, int parc
, int *parn
,
16 const char **parv
, int *errors
, int dir
, char c
, long mode_type
);
17 static const char chm_operonly_compat
[] =
18 "Adds an emulated channel mode +O which is converted into mode +i and +I $o";
20 DECLARE_MODULE_AV2(chm_operonly_compat
, _modinit
, _moddeinit
, NULL
, NULL
, NULL
, NULL
, NULL
, chm_operonly_compat
);
25 chmode_table
['O'].set_func
= chm_operonly
;
26 chmode_table
['O'].mode_type
= 0;
34 chmode_table
['O'].set_func
= chm_nosuch
;
35 chmode_table
['O'].mode_type
= 0;
39 chm_operonly(struct Client
*source_p
, struct Channel
*chptr
,
40 int alevel
, int parc
, int *parn
,
41 const char **parv
, int *errors
, int dir
, char c
, long mode_type
)
44 const char *newparv
[] = { "$o" };
46 if (MyClient(source_p
)) {
47 chm_simple(source_p
, chptr
, alevel
, parc
, parn
, parv
,
48 errors
, dir
, 'i', MODE_INVITEONLY
);
49 chm_ban(source_p
, chptr
, alevel
, 1, &newparn
, newparv
,
50 errors
, dir
, 'I', CHFL_INVEX
);
52 chm_nosuch(source_p
, chptr
, alevel
, parc
, parn
, parv
,
53 errors
, dir
, c
, mode_type
);