commit 0a9608a26f4c5fec7d09f13a814bf4e384b17759 from: Alexander Barton date: Tue Mar 03 15:33:40 2009 UTC Channel mode changes: break on error Don't echo multiple syntax error messages (461) on invalid commands, but break after the first one. In addition, this solves corrupted 'Unknown mode "+' messages. commit - dee89c2355f973db0ba7c7ca81c83940caefc3d4 commit + 0a9608a26f4c5fec7d09f13a814bf4e384b17759 blob - 2c142288fd446d04dd48322c9da121a960a138a5 blob + 9ada4f13c7f1e437733b4e2ea42bd89273bc4ba4 --- src/ngircd/irc-mode.c +++ src/ngircd/irc-mode.c @@ -440,6 +440,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Ori ok = IRC_WriteStrClient(Origin, ERR_NEEDMOREPARAMS_MSG, Client_ID(Origin), Req->command); + goto chan_exit; } break; case 'l': /* Member limit */ @@ -475,6 +476,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Ori ok = IRC_WriteStrClient(Origin, ERR_NEEDMOREPARAMS_MSG, Client_ID(Origin), Req->command); + goto chan_exit; } break; case 'P': /* Persistent channel */ @@ -519,6 +521,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Ori ok = IRC_WriteStrClient(Origin, ERR_NEEDMOREPARAMS_MSG, Client_ID(Origin), Req->command); + goto chan_exit; } break; /* --- Channel lists --- */