summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bahamut.c5
-rw-r--r--src/dreamforge.c2
-rw-r--r--src/init.c6
-rw-r--r--src/nickserv.c12
-rw-r--r--src/plexus.c14
-rw-r--r--src/ptlink.c16
-rw-r--r--src/rageircd.c75
-rw-r--r--src/solidircd.c12
-rw-r--r--src/ultimate2.c22
-rw-r--r--src/ultimate3.c27
-rw-r--r--src/unreal31.c21
-rw-r--r--src/unreal32.c16
-rw-r--r--src/viagra.c29
13 files changed, 153 insertions, 104 deletions
diff --git a/src/bahamut.c b/src/bahamut.c
index 94a46428c..a42f84392 100644
--- a/src/bahamut.c
+++ b/src/bahamut.c
@@ -255,7 +255,7 @@ unsigned long umodes[128] = {
UMODE_m, UMODE_n, UMODE_o, /* m n o */
0, 0, UMODE_r, /* p q r */
UMODE_s, 0, 0, /* s t u */
- 0, 0, UMODE_x, /* v w x */
+ 0, UMODE_w, UMODE_x, /* v w x */
UMODE_y, /* y */
0, /* z */
0, 0, 0, /* { | } */
@@ -333,7 +333,7 @@ CBMode cbmodes[128] = {
{0}, /* J */
{0}, /* K */
{0}, /* L */
- {CMODE_M},
+ {CMODE_M, 0, NULL, NULL}, /* M */
{0}, /* N */
{CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* P */
@@ -391,6 +391,7 @@ CBModeInfo cbmodeinfos[] = {
{'t', CMODE_t, 0, NULL, NULL},
{'M', CMODE_M, 0, NULL, NULL},
{'O', CMODE_O, 0, NULL, NULL},
+ {'R', CMODE_R, 0, NULL, NULL},
{0}
};
diff --git a/src/dreamforge.c b/src/dreamforge.c
index 0922cdbe8..249ff79fc 100644
--- a/src/dreamforge.c
+++ b/src/dreamforge.c
@@ -243,7 +243,7 @@ unsigned long umodes[128] = {
0, 0, UMODE_o, /* m n o */
0, 0, UMODE_r, /* p q r */
UMODE_s, 0, 0, /* s t u */
- 0, 0, 0, /* v w x */
+ 0, UMODE_w, 0, /* v w x */
0, /* y */
0, /* z */
0, 0, 0, /* { | } */
diff --git a/src/init.c b/src/init.c
index 5b4f02536..3d7bd962c 100644
--- a/src/init.c
+++ b/src/init.c
@@ -552,8 +552,10 @@ int init(int ac, char **av)
#ifdef USE_RDB
if (!rdb_init()) {
- UseRDB = 0;
- alog("Error: Disabling UseRDB due to errors with SQL");
+ if (UseRDB) {
+ UseRDB = 0;
+ alog("Error: Disabling UseRDB due to errors with SQL");
+ }
}
#endif
diff --git a/src/nickserv.c b/src/nickserv.c
index 5cc4c48d9..631003b50 100644
--- a/src/nickserv.c
+++ b/src/nickserv.c
@@ -4055,11 +4055,16 @@ static int do_ghost(User * u)
static int do_status(User * u)
{
- char *nick;
User *u2;
int i = 0;
+ char *nick = strtok(NULL, " ");
+
+ /* If no nickname is given, we assume that the user
+ * is asking for himself */
+ if (!nick)
+ nick = u->nick;
- while ((nick = strtok(NULL, " ")) && (i++ < 16)) {
+ while (nick && (i++ < 16)) {
if (!(u2 = finduser(nick)))
notice_lang(s_NickServ, u, NICK_STATUS_0, nick);
else if (nick_identified(u2))
@@ -4068,6 +4073,9 @@ static int do_status(User * u)
notice_lang(s_NickServ, u, NICK_STATUS_2, nick);
else
notice_lang(s_NickServ, u, NICK_STATUS_1, nick);
+
+ /* Get the next nickname */
+ nick = strtok(NULL, " ");
}
return MOD_CONT;
}
diff --git a/src/plexus.c b/src/plexus.c
index 75d50d8f5..c22531246 100644
--- a/src/plexus.c
+++ b/src/plexus.c
@@ -224,20 +224,20 @@ unsigned long umodes[128] = {
0, 0, 0, /* J K L */
0, 0, 0, /* M N O */
0, 0, UMODE_R, /* P Q R */
- 0, 0, 0, /* S T U */
+ UMODE_S, 0, 0, /* S T U */
0, 0, 0, /* V W X */
0, /* Y */
0, /* Z */
0, 0, 0, /* [ \ ] */
0, 0, 0, /* ^ _ ` */
- UMODE_a, 0, 0, /* a b c */
- 0, 0, 0, /* d e f */
+ UMODE_a, UMODE_b, 0, /* a b c */
+ UMODE_d, 0, 0, /* d e f */
0, UMODE_h, UMODE_i, /* g h i */
- 0, 0, 0, /* j k l */
- 0, 0, UMODE_o, /* m n o */
+ 0, 0, UMODE_l, /* j k l */
+ UMODE_g, UMODE_n, UMODE_o, /* m n o */
0, 0, 0, /* p q r */
- 0, 0, 0, /* s t u */
- 0, UMODE_w, 0, /* v w x */
+ 0, 0, UMODE_u, /* s t u */
+ 0, UMODE_w, UMODE_x, /* v w x */
0, /* y */
0, /* z */
0, 0, 0, /* { | } */
diff --git a/src/ptlink.c b/src/ptlink.c
index ca8f44e9f..13941b221 100644
--- a/src/ptlink.c
+++ b/src/ptlink.c
@@ -251,9 +251,9 @@ CBMode cbmodes[128] = {
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
{0},
- {0}, /* A */
- {0}, /* B */
- {CMODE_C, 0, NULL, NULL},
+ {CMODE_A, 0, NULL, NULL}, /* A */
+ {CMODE_B, 0, NULL, NULL}, /* B */
+ {CMODE_C, 0, NULL, NULL}, /* C */
{0}, /* D */
{0}, /* E */
{0}, /* F */
@@ -261,15 +261,15 @@ CBMode cbmodes[128] = {
{0}, /* H */
{0}, /* I */
{0}, /* J */
- {0}, /* K */
+ {CMODE_K, 0, NULL, NULL}, /* K */
{0}, /* L */
{0}, /* M */
- {CMODE_N, 0, NULL, NULL},
- {0}, /* O */
+ {CMODE_N, 0, NULL, NULL}, /* N */
+ {CMODE_O, 0, NULL, NULL}, /* O */
{0}, /* P */
{0}, /* Q */
{CMODE_R, 0, NULL, NULL}, /* R */
- {CMODE_S, 0, NULL, NULL},
+ {CMODE_S, 0, NULL, NULL}, /* S */
{0}, /* T */
{0}, /* U */
{0}, /* V */
@@ -322,9 +322,11 @@ CBModeInfo cbmodeinfos[] = {
{'s', CMODE_s, 0, NULL, NULL},
{'t', CMODE_t, 0, NULL, NULL},
{'A', CMODE_A, 0, NULL, NULL},
+ {'B', CMODE_B, 0, NULL, NULL},
{'C', CMODE_C, 0, NULL, NULL},
{'K', CMODE_K, 0, NULL, NULL},
{'N', CMODE_N, 0, NULL, NULL},
+ {'O', CMODE_O, 0, NULL, NULL},
{'R', CMODE_R, 0, NULL, NULL},
{'S', CMODE_S, 0, NULL, NULL},
{0}
diff --git a/src/rageircd.c b/src/rageircd.c
index 60ddcdc6f..d63a71265 100644
--- a/src/rageircd.c
+++ b/src/rageircd.c
@@ -141,28 +141,55 @@ IRCDCAPAB ircdcap[] = {
};
-
unsigned long umodes[128] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, UMODE_A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,
- 0,
- UMODE_R,
- 0, 0, 0, 0, 0, 0, 0,
- 0,
- 0, 0, 0, 0, 0,
- 0, UMODE_a, 0, 0, 0, 0, 0,
- 0,
- UMODE_h, UMODE_i, 0, 0, 0, 0, 0, UMODE_o,
- 0,
- 0, UMODE_r, 0, 0, 0, 0, UMODE_w,
- UMODE_x,
- 0,
- 0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused, Unused, Horzontal Tab */
+ 0, 0, 0, /* Line Feed, Unused, Unused */
+ 0, 0, 0, /* Carriage Return, Unused, Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused */
+ 0, 0, 0, /* Unused, Unused, Space */
+ 0, 0, 0, /* ! " # */
+ 0, 0, 0, /* $ % & */
+ 0, 0, 0, /* ! ( ) */
+ 0, 0, 0, /* * + , */
+ 0, 0, 0, /* - . / */
+ 0, 0, /* 0 1 */
+ 0, 0, /* 2 3 */
+ 0, 0, /* 4 5 */
+ 0, 0, /* 6 7 */
+ 0, 0, /* 8 9 */
+ 0, 0, /* : ; */
+ 0, 0, 0, /* < = > */
+ 0, 0, /* ? @ */
+ UMODE_A, 0, 0, /* A B C */
+ 0, 0, 0, /* D E F */
+ 0, 0, 0, /* G H I */
+ 0, 0, 0, /* J K L */
+ 0, 0, 0, /* M N O */
+ 0, 0, UMODE_R, /* P Q R */
+ 0, 0, 0, /* S T U */
+ 0, 0, 0, /* V W X */
+ 0, /* Y */
+ 0, /* Z */
+ 0, 0, 0, /* [ \ ] */
+ 0, 0, 0, /* ^ _ ` */
+ UMODE_a, 0, 0, /* a b c */
+ 0, 0, 0, /* d e f */
+ 0, UMODE_h, UMODE_i, /* g h i */
+ 0, 0, 0, /* j k l */
+ 0, 0, UMODE_o, /* m n o */
+ 0, 0, UMODE_r, /* p q r */
+ 0, 0, 0, /* s t u */
+ 0, UMODE_w, 0, /* v w x */
+ 0, /* y */
+ 0, /* z */
+ 0, 0, 0, /* { | } */
+ 0, 0 /* ~ ‚ */
};
char csmodes[128] = {
@@ -259,13 +286,13 @@ CBMode cbmodes[128] = {
{0}, /* J */
{0}, /* K */
{0}, /* L */
- {CMODE_M},
- {CMODE_N, 0, NULL, NULL},
+ {CMODE_M, 0, NULL, NULL}, /* M */
+ {CMODE_N, 0, NULL, NULL}, /* N */
{CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* P */
{0}, /* Q */
{CMODE_R, 0, NULL, NULL}, /* R */
- {CMODE_S, 0, NULL, NULL},
+ {CMODE_S, 0, NULL, NULL}, /* S */
{0}, /* T */
{0}, /* U */
{0}, /* V */
diff --git a/src/solidircd.c b/src/solidircd.c
index 1b0097f32..d536f988a 100644
--- a/src/solidircd.c
+++ b/src/solidircd.c
@@ -258,7 +258,7 @@ unsigned long umodes[128] = {
UMODE_m, UMODE_n, UMODE_o, /* m n o */
0, 0, UMODE_r, /* p q r */
UMODE_s, 0, 0, /* s t u */
- UMODE_v, 0, UMODE_x, /* v w x */
+ UMODE_v, UMODE_w, UMODE_x, /* v w x */
UMODE_y, /* y */
UMODE_z, /* z */
0, 0, 0, /* { | } */
@@ -360,7 +360,7 @@ CBMode cbmodes[128] = {
{0}, /* J */
{0}, /* K */
{0}, /* L */
- {CMODE_M},
+ {CMODE_M, 0, NULL, NULL}, /* M */
{0}, /* N */
{CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* P */
@@ -422,6 +422,7 @@ CBModeInfo cbmodeinfos[] = {
{0}
};
+
CUMode cumodes[128] = {
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
@@ -439,6 +440,7 @@ CUMode cumodes[128] = {
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0},
{0},
+
{0}, /* a */
{0}, /* b */
{0}, /* c */
@@ -446,7 +448,7 @@ CUMode cumodes[128] = {
{0}, /* e */
{0}, /* f */
{0}, /* g */
- {0}, /* h */
+ {CUS_HALFOP, 0, check_valid_op},
{0}, /* i */
{0}, /* j */
{0}, /* k */
@@ -460,7 +462,7 @@ CUMode cumodes[128] = {
{0}, /* s */
{0}, /* t */
{0}, /* u */
- {CUS_VOICE, 0, NULL},
+ {CUS_VOICE, 0, NULL}, /* v */
{0}, /* w */
{0}, /* x */
{0}, /* y */
@@ -468,8 +470,6 @@ CUMode cumodes[128] = {
{0}, {0}, {0}, {0}, {0}
};
-
-
void anope_cmd_mode(char *source, char *dest, const char *fmt, ...)
{
va_list args;
diff --git a/src/ultimate2.c b/src/ultimate2.c
index 01b9f99f8..512c17d0b 100644
--- a/src/ultimate2.c
+++ b/src/ultimate2.c
@@ -320,9 +320,9 @@ CBMode cbmodes[128] = {
{0}, /* F */
{0}, /* G */
{0}, /* H */
- {CMODE_I},
+ {CMODE_I, 0, NULL, NULL}, /* I */
{0}, /* J */
- {CMODE_K, 0, NULL, NULL},
+ {CMODE_K, 0, NULL, NULL}, /* K */
{CMODE_L, 0, set_redirect, cs_set_redirect},
{0}, /* M */
{0}, /* N */
@@ -330,7 +330,7 @@ CBMode cbmodes[128] = {
{0}, /* P */
{0}, /* Q */
{CMODE_R, 0, NULL, NULL}, /* R */
- {CMODE_S, 0, NULL, NULL},
+ {CMODE_S, 0, NULL, NULL}, /* S */
{0}, /* T */
{0}, /* U */
{0}, /* V */
@@ -347,22 +347,22 @@ CBMode cbmodes[128] = {
{CMODE_f, 0, set_flood, cs_set_flood},
{0}, /* g */
{0}, /* h */
- {CMODE_i, 0, NULL, NULL},
+ {CMODE_i, 0, NULL, NULL}, /* i */
{0}, /* j */
{CMODE_k, 0, set_key, cs_set_key},
{CMODE_l, CBM_MINUS_NO_ARG, set_limit, cs_set_limit},
- {CMODE_m, 0, NULL, NULL},
- {CMODE_n, 0, NULL, NULL},
+ {CMODE_m, 0, NULL, NULL}, /* m */
+ {CMODE_n, 0, NULL, NULL}, /* n */
{0}, /* o */
- {CMODE_p, 0, NULL, NULL},
+ {CMODE_p, 0, NULL, NULL}, /* p */
{0}, /* q */
{CMODE_r, CBM_NO_MLOCK, NULL, NULL},
- {CMODE_s, 0, NULL, NULL},
- {CMODE_t, 0, NULL, NULL},
- {0},
+ {CMODE_s, 0, NULL, NULL}, /* s */
+ {CMODE_t, 0, NULL, NULL}, /* t */
+ {0}, /* u */
{0}, /* v */
{0}, /* w */
- {CMODE_x},
+ {CMODE_x, 0, NULL, NULL}, /* x */
{0}, /* y */
{0}, /* z */
{0}, {0}, {0}, {0}
diff --git a/src/ultimate3.c b/src/ultimate3.c
index 7cf7a0c42..89f8345eb 100644
--- a/src/ultimate3.c
+++ b/src/ultimate3.c
@@ -261,7 +261,7 @@ unsigned long umodes[128] = {
0, 0, 0, /* G H I */
0, 0, 0, /* J K L */
0, 0, UMODE_0, /* M N O */
- UMODE_P, 0, 0, /* P Q R */
+ UMODE_P, 0, UMODE_R, /* P Q R */
UMODE_S, 0, 0, /* S T U */
0, UMODE_W, 0, /* V W X */
0, /* Y */
@@ -352,15 +352,15 @@ CBMode cbmodes[128] = {
{0}, /* H */
{0}, /* I */
{0}, /* J */
- {CMODE_K, 0, NULL, NULL},
+ {CMODE_K, 0, NULL, NULL}, /* K */
{0}, /* L */
- {CMODE_M},
- {CMODE_N, 0, NULL, NULL},
+ {CMODE_M, 0, NULL, NULL}, /* M */
+ {CMODE_N, 0, NULL, NULL}, /* N */
{CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* P */
{0}, /* Q */
{CMODE_R, 0, NULL, NULL}, /* R */
- {CMODE_S, 0, NULL, NULL},
+ {CMODE_S, 0, NULL, NULL}, /* S */
{0}, /* T */
{0}, /* U */
{0}, /* V */
@@ -377,19 +377,19 @@ CBMode cbmodes[128] = {
{0}, /* f */
{0}, /* g */
{0}, /* h */
- {CMODE_i, 0, NULL, NULL},
+ {CMODE_i, 0, NULL, NULL}, /* i */
{0}, /* j */
{CMODE_k, 0, set_key, cs_set_key},
{CMODE_l, CBM_MINUS_NO_ARG, set_limit, cs_set_limit},
- {CMODE_m, 0, NULL, NULL},
- {CMODE_n, 0, NULL, NULL},
+ {CMODE_m, 0, NULL, NULL}, /* m */
+ {CMODE_n, 0, NULL, NULL}, /* n */
{0}, /* o */
- {CMODE_p, 0, NULL, NULL},
- {CMODE_q, 0, NULL, NULL},
+ {CMODE_p, 0, NULL, NULL}, /* p */
+ {CMODE_q, 0, NULL, NULL}, /* q */
{CMODE_r, CBM_NO_MLOCK, NULL, NULL},
- {CMODE_s, 0, NULL, NULL},
- {CMODE_t, 0, NULL, NULL},
- {0},
+ {CMODE_s, 0, NULL, NULL}, /* s */
+ {CMODE_t, 0, NULL, NULL}, /* t */
+ {0}, /* u */
{0}, /* v */
{0}, /* w */
{0}, /* x */
@@ -412,6 +412,7 @@ CBModeInfo cbmodeinfos[] = {
{'t', CMODE_t, 0, NULL, NULL},
{'A', CMODE_A, 0, NULL, NULL},
{'K', CMODE_K, 0, NULL, NULL},
+ {'M', CMODE_M, 0, NULL, NULL},
{'N', CMODE_N, 0, NULL, NULL},
{'O', CMODE_O, 0, NULL, NULL},
{'R', CMODE_R, 0, NULL, NULL},
diff --git a/src/unreal31.c b/src/unreal31.c
index 5da088315..e0d233e2d 100644
--- a/src/unreal31.c
+++ b/src/unreal31.c
@@ -176,9 +176,10 @@ char csmodes[128] = {
0,
0,
0, 0, 0,
+ 'h', /* (37) % Channel halfops */
0,
- 0, 0, 0, 0,
- 0,
+ 0, 0, 0,
+ 'q',
'v', 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -187,7 +188,7 @@ char csmodes[128] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'a', 0
};
CMMode cmmodes[128] = {
@@ -230,26 +231,26 @@ CBMode cbmodes[128] = {
{0},
{CMODE_A, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* B */
- {CMODE_C, 0, NULL, NULL},
+ {CMODE_C, 0, NULL, NULL}, /* C */
{0}, /* D */
{0}, /* E */
{0}, /* F */
- {CMODE_G, 0, NULL, NULL},
+ {CMODE_G, 0, NULL, NULL}, /* G */
{CMODE_H, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* I */
{0}, /* J */
- {CMODE_K, 0, NULL, NULL},
+ {CMODE_K, 0, NULL, NULL}, /* K */
{CMODE_L, 0, set_redirect, cs_set_redirect},
{0}, /* M */
- {CMODE_N, 0, NULL, NULL},
+ {CMODE_N, 0, NULL, NULL}, /* N */
{CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* P */
- {CMODE_Q, 0, NULL, NULL},
+ {CMODE_Q, 0, NULL, NULL}, /* Q */
{CMODE_R, 0, NULL, NULL}, /* R */
- {CMODE_S, 0, NULL, NULL},
+ {CMODE_S, 0, NULL, NULL}, /* S */
{0}, /* T */
{0}, /* U */
- {CMODE_V, 0, NULL, NULL},
+ {CMODE_V, 0, NULL, NULL}, /* V */
{0}, /* W */
{0}, /* X */
{0}, /* Y */
diff --git a/src/unreal32.c b/src/unreal32.c
index 4c39f0263..dd1bef746 100644
--- a/src/unreal32.c
+++ b/src/unreal32.c
@@ -257,26 +257,26 @@ CBMode cbmodes[128] = {
{0},
{CMODE_A, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* B */
- {CMODE_C, 0, NULL, NULL},
+ {CMODE_C, 0, NULL, NULL}, /* C */
{0}, /* D */
{0}, /* E */
{0}, /* F */
- {CMODE_G, 0, NULL, NULL},
- {0},
+ {CMODE_G, 0, NULL, NULL}, /* G */
+ {0}, /* H */
{0}, /* I */
{0}, /* J */
- {CMODE_K, 0, NULL, NULL},
+ {CMODE_K, 0, NULL, NULL}, /* K */
{CMODE_L, 0, set_redirect, cs_set_redirect},
{CMODE_M, 0, NULL, NULL}, /* M */
- {CMODE_N, 0, NULL, NULL},
+ {CMODE_N, 0, NULL, NULL}, /* N */
{CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL},
{0}, /* P */
- {CMODE_Q, 0, NULL, NULL},
+ {CMODE_Q, 0, NULL, NULL}, /* Q */
{CMODE_R, 0, NULL, NULL}, /* R */
- {CMODE_S, 0, NULL, NULL},
+ {CMODE_S, 0, NULL, NULL}, /* S */
{CMODE_T, 0, NULL, NULL}, /* T */
{0}, /* U */
- {CMODE_V, 0, NULL, NULL},
+ {CMODE_V, 0, NULL, NULL}, /* V */
{0}, /* W */
{0}, /* X */
{0}, /* Y */
diff --git a/src/viagra.c b/src/viagra.c
index 47d0697d0..2e4a1bc03 100644
--- a/src/viagra.c
+++ b/src/viagra.c
@@ -228,6 +228,7 @@ unsigned long umodes[128] = {
0, 0, 0, 0, 0
};
+
char csmodes[128] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -235,9 +236,11 @@ char csmodes[128] = {
0,
0,
0, 0, 0,
- 'h',
- 0, 0, 0, 0,
- 0,
+ 'h', /* (37) % Channel halfops */
+ 0, /* (38) & bans */
+ 0, 0, 0,
+ 'q',
+
'v', 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -245,10 +248,9 @@ char csmodes[128] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'a', 0
};
-
CMMode cmmodes[128] = {
{NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
{NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL},
@@ -294,18 +296,18 @@ CBMode cbmodes[128] = {
{0}, /* E */
{0}, /* F */
{0}, /* G */
- {0}, /* H */
+ {CMODE_H, 0, NULL, NULL}, /* H */
{0}, /* I */
{0}, /* J */
{0}, /* K */
{0}, /* L */
- {CMODE_M},
- {0}, /* N */
+ {CMODE_M, 0, NULL, NULL}, /* M */
+ {CMODE_N, 0, NULL, NULL}, /* N */
{CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL},
- {0}, /* P */
+ {CMODE_P, 0, NULL, NULL}, /* P */
{0}, /* Q */
{CMODE_R, 0, NULL, NULL}, /* R */
- {0}, /* S */
+ {CMODE_S, 0, NULL, NULL}, /* S */
{0}, /* T */
{0}, /* U */
{0}, /* V */
@@ -337,7 +339,7 @@ CBMode cbmodes[128] = {
{0},
{0}, /* v */
{0}, /* w */
- {0}, /* x */
+ {CMODE_x, 0, NULL, NULL}, /* x */
{0}, /* y */
{0}, /* z */
{0}, {0}, {0}, {0}
@@ -354,9 +356,14 @@ CBModeInfo cbmodeinfos[] = {
{'r', CMODE_r, 0, NULL, NULL},
{'s', CMODE_s, 0, NULL, NULL},
{'t', CMODE_t, 0, NULL, NULL},
+ {'x', CMODE_x, 0, NULL, NULL},
+ {'H', CMODE_H, 0, NULL, NULL},
{'M', CMODE_M, 0, NULL, NULL},
+ {'N', CMODE_N, 0, NULL, NULL},
{'O', CMODE_O, 0, NULL, NULL},
+ {'P', CMODE_P, 0, NULL, NULL},
{'R', CMODE_R, 0, NULL, NULL},
+ {'S', CMODE_S, 0, NULL, NULL},
{0}
};