X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Firc-server.c;h=d605745c75d37655aeae29c57d73acf31c76ceb6;hb=161adbb1aa6235acda9677ab14edd19581d9fcf4;hp=f9182d984ca9c2c6f1f743b419a198d89b31ada7;hpb=f37600ee01f6cfd86e8fa80f77ee26ebaf3012b2;p=ngircd-alex.git diff --git a/src/ngircd/irc-server.c b/src/ngircd/irc-server.c index f9182d98..d605745c 100644 --- a/src/ngircd/irc-server.c +++ b/src/ngircd/irc-server.c @@ -54,7 +54,7 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req ) CLIENT *from, *c; int i; CONN_ID con; - + assert( Client != NULL ); assert( Req != NULL ); @@ -88,7 +88,7 @@ IRC_SERVER( CLIENT *Client, REQUEST *Req ) Conn_Close( Client_Conn( Client ), NULL, "Bad password", true); return DISCONNECTED; } - + /* Is there a registered server with this ID? */ if( ! Client_CheckID( Client, Req->argv[0] )) return DISCONNECTED; @@ -206,7 +206,7 @@ IRC_NJOIN( CLIENT *Client, REQUEST *Req ) bool is_owner, is_chanadmin, is_op, is_halfop, is_voiced; CHANNEL *chan; CLIENT *c; - + assert( Client != NULL ); assert( Req != NULL ); @@ -219,12 +219,12 @@ IRC_NJOIN( CLIENT *Client, REQUEST *Req ) ptr = strtok( nick_in, "," ); while( ptr ) { - is_op = is_voiced = false; - + is_owner = is_chanadmin = is_op = is_halfop = is_voiced = false; + /* cut off prefixes */ while(( *ptr == '~') || ( *ptr == '&' ) || ( *ptr == '@' ) || ( *ptr == '%') || ( *ptr == '+' )) - { + { if( *ptr == '~' ) is_owner = true; if( *ptr == '&' ) is_chanadmin = true; if( *ptr == '@' ) is_op = true; @@ -239,7 +239,7 @@ IRC_NJOIN( CLIENT *Client, REQUEST *Req ) Channel_Join( c, channame ); chan = Channel_Search( channame ); assert( chan != NULL ); - + if( is_owner ) Channel_UserModeAdd( chan, c, 'q' ); if( is_chanadmin ) Channel_UserModeAdd( chan, c, 'a' ); if( is_op ) Channel_UserModeAdd( chan, c, 'o' ); @@ -266,7 +266,7 @@ IRC_NJOIN( CLIENT *Client, REQUEST *Req ) strlcat( nick_out, ptr, sizeof( nick_out )); } else Log( LOG_ERR, "Got NJOIN for unknown nick \"%s\" for channel \"%s\"!", ptr, channame ); - + /* search for next Nick */ ptr = strtok( NULL, "," ); }