]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/irc.c
- Hmpf. "Verfruehtes" CVS-Update einiger Source-Files zurueckgenommen ...
[ngircd-alex.git] / src / ngircd / irc.c
index e710d1c725c138dcc8eb51dc928ffec26575d817..4ec0427f2ff3cb197d3effffdf751d9aace0763f 100644 (file)
@@ -9,7 +9,7 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: irc.c,v 1.92 2002/06/10 21:08:45 alex Exp $
+ * $Id: irc.c,v 1.94 2002/07/25 11:37:01 alex Exp $
  *
  * irc.c: IRC-Befehle
  */
@@ -119,7 +119,7 @@ IRC_NOTICE( CLIENT *Client, REQUEST *Req )
        if( ! from ) return IRC_WriteStrClient( Client, ERR_NOSUCHNICK_MSG, Client_ID( Client ), Req->prefix );
 
        to = Client_Search( Req->argv[0] );
-       if( to )
+       if(( to ) && ( Client_Type( to ) == CLIENT_USER ))
        {
                /* Okay, Ziel ist ein User */
                return IRC_WriteStrClientPrefix( to, from, "NOTICE %s :%s", Client_ID( to ), Req->argv[1] );
@@ -643,8 +643,14 @@ IRC_KILL( CLIENT *Client, REQUEST *Req )
 
        /* haben wir selber einen solchen Client? */
        c = Client_Search( Req->argv[0] );
-       if( c && ( Client_Conn( c ) != NONE )) Conn_Close( Client_Conn( c ), NULL, Req->argv[1], TRUE );
-       
+       if( c )
+       {
+               /* Ja, wir haben einen solchen Client */
+               if( Client_Conn( c ) != NONE ) Conn_Close( Client_Conn( c ), NULL, Req->argv[1], TRUE );
+               else Client_Destroy( c, NULL, Req->argv[1], TRUE );
+       }
+       else Log( LOG_NOTICE, "Client with nick \"%s\" is unknown here.", Req->argv[0] );
+
        return CONNECTED;
 } /* IRC_KILL */