arg = 0;
while(arg < argc) {
char *modeStr = argv[arg++];
+ char modeStrBuf[3];
for(i = 0; i < strlen(modeStr); i++) {
switch(modeStr[i]) {
case '+':
case 'o':
case 'v':
if(arg == argc) {
- reply(textclient, user, "NS_MODE_INVALID", modeStr[i]);
+ sprintf(modeStrBuf, "%c%c", (add ? '+' : '-'), modeStr[i]);
+ reply(textclient, user, "NS_MODE_INVALID", modeStrBuf);
return;
}
carg = argv[arg++];
break;
case 'b':
if(arg == argc) {
- reply(textclient, user, "NS_MODE_INVALID", modeStr[i]);
+ sprintf(modeStrBuf, "%c%c", (add ? '+' : '-'), modeStr[i]);
+ reply(textclient, user, "NS_MODE_INVALID", modeStrBuf);
return;
}
carg = argv[arg++];
default:
modetype = getModeType(modelock, modeStr[i]);
if(modetype == 0) {
- reply(textclient, user, "NS_MODE_INVALID", modeStr);
+ sprintf(modeStrBuf, "%c%c", (add ? '+' : '-'), modeStr[i]);
+ reply(textclient, user, "NS_MODE_INVALID", modeStrBuf);
return;
}
if(isModeAffected(modelock, modeStr[i]) && add == !isModeSet(modelock, modeStr[i]) && uaccess < db_enfmodes) {