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).
This commit is contained in:
Alexander Barton 2008-04-24 23:52:54 +02:00
parent 54b17fc201
commit 523a6fad09
1 changed files with 6 additions and 1 deletions

View File

@ -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;