X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2FModeNode.c;h=8cc5b67a07328f6f055060bc2f5105f5b009a9db;hp=7dc10f0b68eda98f0434c15a92623961e8581a31;hb=8a1a716ef73af7b5288f7b5f8ab1b37be80f1247;hpb=bb5692b9cbff069abbf9573c81e86c3cd2061ceb diff --git a/src/ModeNode.c b/src/ModeNode.c index 7dc10f0..8cc5b67 100644 --- a/src/ModeNode.c +++ b/src/ModeNode.c @@ -1,4 +1,4 @@ -/* ModeNode.c - NeonServ v5.3 +/* ModeNode.c - NeonServ v5.6 * Copyright (C) 2011-2012 Philipp Kreil (pk910) * * This program is free software: you can redistribute it and/or modify @@ -284,7 +284,7 @@ int parseMode(struct ModeNode* modes, int add, char mode, char *param) { modes->modes &= ~modeOpt[0]; modes->allmodes |= modeOpt[0]; if(MODE_TYPE == CHANNEL_MODE_TYPE_B) { - if(!param) return 0; + if(!param && !(modeOpt[2] & CHANNEL_MODE_KEY)) return 0; if(MODE_VALUE == CHANNEL_MODE_VALUE_STRING) { free(modes->mode_str_args[MODE_VALUE_INDEX]); modes->mode_str_args[MODE_VALUE_INDEX] = NULL;