X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Firc.c;h=0cb9a6e546b059518c7f5b3a187cec74c5332243;hp=b4db3b77473955f6c04c5952df444f9f2692c190;hb=55190f2d3ddf9b4bd43b0555df784c95eed82390;hpb=6dc80bd195ad0760bb560177d6f91c86b7698758 diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c index b4db3b77..0cb9a6e5 100644 --- a/src/ngircd/irc.c +++ b/src/ngircd/irc.c @@ -160,11 +160,15 @@ IRC_KILL( CLIENT *Client, REQUEST *Req ) 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] );