]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/client.c
- Client-Modes implementiert; Loglevel mal wieder angepasst.
[ngircd-alex.git] / src / ngircd / client.c
index 6aca9216689876422e3762e1648ad8b372511101..af46c3aece76d9f7866036c438860162f007ff25 100644 (file)
@@ -9,7 +9,7 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: client.c,v 1.9 2001/12/27 17:15:29 alex Exp $
+ * $Id: client.c,v 1.11 2001/12/29 03:10:47 alex Exp $
  *
  * client.c: Management aller Clients
  *
  * Server gewesen, so existiert eine entsprechende CONNECTION-Struktur.
  *
  * $Log: client.c,v $
+ * Revision 1.11  2001/12/29 03:10:47  alex
+ * - Client-Modes implementiert; Loglevel mal wieder angepasst.
+ *
+ * Revision 1.10  2001/12/27 19:13:47  alex
+ * - neue Funktion Client_Search(), besseres Logging.
+ *
  * Revision 1.9  2001/12/27 17:15:29  alex
  * - der eigene Hostname wird nun komplet (als FQDN) ermittelt.
  *
@@ -170,6 +176,9 @@ GLOBAL VOID Client_Destroy( CLIENT *Client )
                {
                        if( last ) last->next = c->next;
                        else My_Clients = c->next;
+
+                       if( c->type == CLIENT_USER ) Log( LOG_NOTICE, "User \"%s!%s@%s\" (%s) exited (connection %d).", c->nick, c->user, c->host, c->name, c->conn_id );
+
                        free( c );
                        break;
                }
@@ -250,6 +259,25 @@ GLOBAL CHAR *Client_GetID( CLIENT *Client )
 } /* Client_GetID */
 
 
+GLOBAL CLIENT *Client_Search( CHAR *ID )
+{
+       /* Client suchen, auf den ID passt */
+
+       CLIENT *c;
+
+       assert( ID != NULL );
+
+       c = My_Clients;
+       while( c )
+       {
+               if( strcasecmp( c->nick, ID ) == 0 ) return c;
+               c = c->next;
+       }
+       
+       return NULL;
+} /* Client_Search */
+
+
 LOCAL CLIENT *New_Client_Struct( VOID )
 {
        /* Neue CLIENT-Struktur pre-initialisieren */
@@ -274,6 +302,7 @@ LOCAL CLIENT *New_Client_Struct( VOID )
        strcpy( c->user, "" );
        strcpy( c->name, "" );
        for( i = 0; i < MAX_CHANNELS; c->channels[i++] = NULL );
+       strcpy( c->modes, "" );
 
        return c;
 } /* New_Client */