* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
IRC_NJOIN( CLIENT *Client, REQUEST *Req )
{
char nick_in[COMMAND_LEN], nick_out[COMMAND_LEN], *channame, *ptr, modes[8];
IRC_NJOIN( CLIENT *Client, REQUEST *Req )
{
char nick_in[COMMAND_LEN], nick_out[COMMAND_LEN], *channame, *ptr, modes[8];
- while(( *ptr == '@' ) || ( *ptr == '+' ))
- {
+ while(( *ptr == '~') || ( *ptr == '&' ) || ( *ptr == '@' ) ||
+ ( *ptr == '%') || ( *ptr == '+' ))
+ {
+ if( *ptr == '~' ) is_owner = true;
+ if( *ptr == '&' ) is_chanadmin = true;
if( is_voiced ) Channel_UserModeAdd( chan, c, 'v' );
/* announce to channel... */
if( is_voiced ) Channel_UserModeAdd( chan, c, 'v' );
/* announce to channel... */
}
if( nick_out[0] != '\0' ) strlcat( nick_out, ",", sizeof( nick_out ));
}
if( nick_out[0] != '\0' ) strlcat( nick_out, ",", sizeof( nick_out ));
if( is_voiced ) strlcat( nick_out, "+", sizeof( nick_out ));
strlcat( nick_out, ptr, sizeof( nick_out ));
}
if( is_voiced ) strlcat( nick_out, "+", sizeof( nick_out ));
strlcat( nick_out, ptr, sizeof( nick_out ));
}
return IRC_WriteStrClient(Client, ERR_NOSUCHNICK_MSG,
Client_ID(Client), Req->prefix);
return IRC_WriteStrClient(Client, ERR_NOSUCHNICK_MSG,
Client_ID(Client), Req->prefix);
- Log(LOG_DEBUG, "Got SQUIT from %s for \"%s\": \"%s\" ...",
+ if (Client_Type(Client) == CLIENT_USER)
+ loglevel = LOG_NOTICE | LOG_snotice;
+ else
+ loglevel = LOG_DEBUG;
+ Log(loglevel, "Got SQUIT from %s for \"%s\": \"%s\" ...",
Client_ID(from), Req->argv[0], Req->argv[1]);
target = Client_Search(Req->argv[0]);
Client_ID(from), Req->argv[0], Req->argv[1]);
target = Client_Search(Req->argv[0]);