-/* cmd_neonserv_mode.c - NeonServ v5.0
- * Copyright (C) 2011 Philipp Kreil (pk910)
+/* cmd_neonserv_mode.c - NeonServ v5.3
+ * Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
parseModeString(modelock, row[4]);
else if(defaults[4])
parseModeString(modelock, defaults[4]);
- int uaccess = getChannelAccess(user, chan, 0);
+ int uaccess = getChannelAccess(user, chan);
char *a, *b = mode;
char *argv[MAXNUMPARAMS];
char *carg;
}
}
}
+ } else if(!add && (modetype & CHANNEL_MODE_TYPE) == CHANNEL_MODE_TYPE_B) {
+ if(arg == argc && !(modetype & CHANNEL_MODE_KEY)) {
+ reply(textclient, user, "NS_MODE_INVALID", modeStr[i]);
+ return;
+ }
+ carg = (arg == argc ? NULL : argv[arg++]);
} else
carg = NULL;
if((modetype & CHANNEL_MODE_TYPE) == CHANNEL_MODE_TYPE_D && isModeSet(chan->modes, modeStr[i]) == add)