X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=ircd%2Fchannel.c;h=41e2cdb6dda2d6bfd51dcd95e250451ee8361137;hp=5a17a6bf21df3d859703b819c3138ecb01c0f797;hb=f6892ecd79c6113544106e32374075f489bf95a7;hpb=520bced72acf72c12bc6e9529954335afe74a6f5 diff --git a/ircd/channel.c b/ircd/channel.c index 5a17a6b..41e2cdb 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -2513,6 +2513,9 @@ mode_parse_access(struct ParseState *state, ulong64 *flag_p) return; } + if(feature_bool(FEAT_CHMODE_A_NOSET) && !(state->flags & MODE_PARSE_FORCE)) /* mode can'T be set. */ + return; + if (!(state->flags & MODE_PARSE_WIPEOUT) && (!t_access || t_access == state->chptr->mode.access)) return; @@ -4346,7 +4349,7 @@ int ext_amsg_block(struct Client *cptr, struct Channel *chptr, const char *msg) int p_pos = 0; int is_visible = 1, is_ccode = 0, i = 0, j = 0; char codes[5]; - for(i = 0; p != '\n'; p = stripped_message[++i]) { + for(i = 0; p != '\n' && p != 0; p = stripped_message[++i]) { if(p == 3) { j = 0; is_ccode = 1;