commit 523a6fad097cedd31a6931a29d91bab0d391df63 from: Alexander Barton date: Thu Apr 24 21:52:54 2008 UTC Report ERR_NOTONCHANNEL when trying to part a channel one is not member of. When trying to part a channel ("PART #channel") the client is not member of the daemon now correctly reports the numeric ERR_NOTONCHANNEL (442) insted of ERR_NOSUCHCHANNEL (403). commit - 54b17fc20162941d03a17ddf78706c5fdc5cfff4 commit + 523a6fad097cedd31a6931a29d91bab0d391df63 blob - a4eca1f18425f0b79a05ef225f129544b1f1f75d blob + 32f911a200f6269eed0f51420a8523ea980c0b78 --- src/ngircd/channel.c +++ src/ngircd/channel.c @@ -218,11 +218,16 @@ Channel_Part(CLIENT * Client, CLIENT * Origin, const c assert(Reason != NULL); chan = Channel_Search(Name); - if ((!chan) || (!Get_Cl2Chan(chan, Client))) { + if (!chan) { IRC_WriteStrClient(Client, ERR_NOSUCHCHANNEL_MSG, Client_ID(Client), Name); return false; } + if (!Get_Cl2Chan(chan, Client)) { + IRC_WriteStrClient(Client, ERR_NOTONCHANNEL_MSG, + Client_ID(Client), Name); + return false; + } if (!Remove_Client(REMOVE_PART, chan, Client, Origin, Reason, true)) return false;