X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/1117fbd3d5bc574638910807b50dfac84d69c846..26f754d989628a8ff8aa39067438bfe2de4727c0:/modules/core/m_sjoin.c diff --git a/modules/core/m_sjoin.c b/modules/core/m_sjoin.c index ccde55b..fc65db2 100644 --- a/modules/core/m_sjoin.c +++ b/modules/core/m_sjoin.c @@ -463,12 +463,7 @@ ms_sjoin(struct Client *client_p, struct Client *source_p, int parc, const char len_uid += len; if(!keep_new_modes) - { - if(fl & CHFL_CHANOP) - fl = CHFL_DEOPPED; - else - fl = 0; - } + fl = 0; if(!IsMember(target_p, chptr)) { @@ -603,30 +598,6 @@ ms_sjoin(struct Client *client_p, struct Client *source_p, int parc, const char return 0; } -struct mode_letter -{ - int mode; - char letter; -}; - -static struct mode_letter flags[] = { - {MODE_NOPRIVMSGS, 'n'}, - {MODE_TOPICLIMIT, 't'}, - {MODE_SECRET, 's'}, - {MODE_MODERATED, 'm'}, - {MODE_INVITEONLY, 'i'}, - {MODE_PRIVATE, 'p'}, - {MODE_REGONLY, 'r'}, - {MODE_EXLIMIT, 'L'}, - {MODE_PERMANENT, 'P'}, - {MODE_NOCOLOR, 'c'}, - {MODE_FREEINVITE, 'g'}, - {MODE_OPMODERATE, 'z'}, - {MODE_FREETARGET, 'F'}, - {MODE_DISFORWARD, 'Q'}, - {0, 0} -}; - static void set_final_mode(struct Mode *mode, struct Mode *oldmode) { @@ -636,30 +607,30 @@ set_final_mode(struct Mode *mode, struct Mode *oldmode) int i; /* ok, first get a list of modes we need to add */ - for (i = 0; flags[i].letter; i++) + for (i = 0; chmode_flags[i].letter; i++) { - if((mode->mode & flags[i].mode) && !(oldmode->mode & flags[i].mode)) + if((mode->mode & chmode_flags[i].mode) && !(oldmode->mode & chmode_flags[i].mode)) { if(dir != MODE_ADD) { *mbuf++ = '+'; dir = MODE_ADD; } - *mbuf++ = flags[i].letter; + *mbuf++ = chmode_flags[i].letter; } } /* now the ones we need to remove. */ - for (i = 0; flags[i].letter; i++) + for (i = 0; chmode_flags[i].letter; i++) { - if((oldmode->mode & flags[i].mode) && !(mode->mode & flags[i].mode)) + if((oldmode->mode & chmode_flags[i].mode) && !(mode->mode & chmode_flags[i].mode)) { if(dir != MODE_DEL) { *mbuf++ = '-'; dir = MODE_DEL; } - *mbuf++ = flags[i].letter; + *mbuf++ = chmode_flags[i].letter; } }