IRC_KillClient(CLIENT *Client, CLIENT *From, const char *Nick, const char *Reason)
{
const char *msg;
- CONN_ID my_conn, conn;
+ CONN_ID my_conn = NONE, conn;
CLIENT *c;
+ assert(Nick != NULL);
+ assert(Reason != NULL);
+
/* Do we know such a client in the network? */
c = Client_Search(Nick);
if (!c) {
}
/* Save ID of this connection */
- my_conn = Client_Conn(Client);
+ if (Client)
+ my_conn = Client_Conn(Client);
/* Kill the client NOW:
* - Close the local connection (if there is one),
* dot (".") and no wildcards ("*", "?") following the last one.
*/
check_wildcards = strrchr(targetMask, '.');
- assert(check_wildcards != NULL);
- if (check_wildcards &&
- check_wildcards[strcspn(check_wildcards, "*?")])
- {
+ if (!check_wildcards || check_wildcards[strcspn(check_wildcards, "*?")]) {
if (!SendErrors)
return true;
return IRC_WriteErrClient(from, ERR_WILDTOPLEVEL, targetMask);