repo: ngircd action: commit revision: path_from: revision_from: 523a6fad097cedd31a6931a29d91bab0d391df63: path_to: revision_to:
commit 523a6fad097cedd31a6931a29d91bab0d391df63 Author: Alexander BartonDate: Thu Apr 24 23:52:54 2008 +0200 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). diff --git a/src/ngircd/channel.c b/src/ngircd/channel.c
--- a/src/ngircd/channel.c
+++ b/src/ngircd/channel.c
@@ -218,11 +218,16 @@ Channel_Part(CLIENT * Client, CLIENT * Origin, const char *Name, const char *Rea
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;
-----END OF PAGE-----