* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: irc-channel.c,v 1.6 2002/05/27 13:09:26 alex Exp $
+ * $Id: irc-channel.c,v 1.8 2002/06/02 14:51:14 alex Exp $
*
* irc-channel.c: IRC-Channel-Befehle
*/
channame = strtok( Req->argv[0], "," );
while( channame )
{
- /* wird der Channel neu angelegt? */
- flags = NULL;
+ chan = flags = NULL;
+ /* wird der Channel neu angelegt? */
if( Channel_Search( channame )) is_new_chan = FALSE;
else is_new_chan = TRUE;
if( Lists_CheckBanned( target, chan ))
{
/* Client ist gebanned: */
+ IRC_WriteStrClient( Client, ERR_BANNEDFROMCHAN_MSG, Client_ID( Client ), channame );
+
+ /* naechsten Namen ermitteln */
+ channame = strtok( NULL, "," );
+ continue;
}
/* Ist der Channel "invite-only"? */
if( ! Lists_CheckInvited( target, chan ))
{
/* Client wurde nicht invited: */
+ IRC_WriteStrClient( Client, ERR_INVITEONLYCHAN_MSG, Client_ID( Client ), channame );
+
+ /* naechsten Namen ermitteln */
+ channame = strtok( NULL, "," );
+ continue;
}
}
}
/* Welcher Channel? */
chan = Channel_Search( Req->argv[0] );
- if( ! chan ) return IRC_WriteStrClient( from, ERR_NOTONCHANNEL_MSG, Client_ID( from ), Req->argv[0] );
+ if( ! chan ) return IRC_WriteStrClient( from, ERR_NOSUCHCHANNEL_MSG, Client_ID( from ), Req->argv[0] );
/* Ist der User Mitglied in dem Channel? */
if( ! Channel_IsMemberOf( chan, from )) return IRC_WriteStrClient( from, ERR_NOTONCHANNEL_MSG, Client_ID( from ), Req->argv[0] );