+GLOBAL BOOLEAN Client_CheckID( CLIENT *Client, CHAR *ID )
+{
+ /* Nick ueberpruefen */
+
+ CHAR str[COMMAND_LEN];
+ CLIENT *c;
+
+ assert( Client != NULL );
+ assert( Client->conn_id > NONE );
+ assert( ID != NULL );
+
+ /* Nick zu lang? */
+ if( strlen( ID ) > CLIENT_ID_LEN ) return IRC_WriteStrClient( Client, This_Server, ERR_ERRONEUSNICKNAME_MSG, Client_Nick( Client ), ID );
+
+ /* ID bereits vergeben? */
+ c = My_Clients;
+ while( c )
+ {
+ if( strcasecmp( c->nick, ID ) == 0 )
+ {
+ /* die Server-ID gibt es bereits */
+ sprintf( str, "ID \"%s\" already registered!", ID );
+ Log( LOG_ALERT, "%s (detected on connection %d)", str, Client->conn_id );
+ Conn_Close( Client->conn_id, str );
+ return FALSE;
+ }
+ c = c->next;
+ }
+
+ return TRUE;
+} /* Client_CheckID */
+
+