#include <string.h>
#include "ngircd.h"
-#include "resolve.h"
#include "conn-func.h"
#include "conf.h"
-#include "client.h"
#include "channel.h"
#include "defines.h"
#include "irc-write.h"
Client_Type( c ), Req->argv[0] );
}
- /* Kill client NOW! */
+ /* Kill the client NOW:
+ * - Close the local connection (if there is one),
+ * - Destroy the CLIENT structure for remote clients.
+ * Note: Conn_Close() removes the CLIENT structure as well. */
conn = Client_Conn( c );
- Client_Destroy( c, NULL, reason, false );
- if( conn > NONE )
- Conn_Close( conn, NULL, reason, true );
+ if(conn > NONE)
+ Conn_Close(conn, NULL, reason, true);
+ else
+ Client_Destroy(c, NULL, reason, false);
}
else
Log( LOG_NOTICE, "Client with nick \"%s\" is unknown here.", Req->argv[0] );
if (nick != NULL && host != NULL) {
if (strcmp(nick, Client_ID(cl)) == 0 &&
strcmp(user, Client_User(cl)) == 0 &&
- strcasecmp(host, Client_Hostname(cl)) == 0)
+ strcasecmp(host, Client_HostnameCloaked(cl)) == 0)
break;
else
continue;
if (strcasecmp(user, Client_User(cl)) != 0)
continue;
if (host != NULL && strcasecmp(host,
- Client_Hostname(cl)) != 0)
+ Client_HostnameCloaked(cl)) != 0)
continue;
if (server != NULL && strcasecmp(server,
Client_ID(Client_Introducer(cl))) != 0)