* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: client.c,v 1.51 2002/03/25 16:59:36 alex Exp $
+ * $Id: client.c,v 1.54 2002/04/14 13:54:51 alex Exp $
*
* client.c: Management aller Clients
*
while( c )
{
cnt++;
- next = c->next;
+ next = (CLIENT *)c->next;
free( c );
c = next;
}
if( strchr( client->modes, 'a' )) strcpy( client->away, DEFAULT_AWAY_MSG );
/* Verketten */
- client->next = My_Clients;
+ client->next = (POINTER *)My_Clients;
My_Clients = client;
return client;
{
/* Wir haben den Client gefunden: entfernen */
if( last ) last->next = c->next;
- else My_Clients = c->next;
+ else My_Clients = (CLIENT *)c->next;
if( c->type == CLIENT_USER )
{
{
if( c != This_Server )
{
- if( c->conn_id != NONE ) Log( LOG_NOTICE, "Server \"%s\" unregistered (connection %d): %s", c->id, c->conn_id, txt );
- else Log( LOG_NOTICE, "Server \"%s\" unregistered: %s", c->id, txt );
+ if( c->conn_id != NONE ) Log( LOG_NOTICE|LOG_snotice, "Server \"%s\" unregistered (connection %d): %s", c->id, c->conn_id, txt );
+ else Log( LOG_NOTICE|LOG_snotice, "Server \"%s\" unregistered: %s", c->id, txt );
}
/* andere Server informieren */
break;
}
last = c;
- c = c->next;
+ c = (CLIENT *)c->next;
}
} /* Client_Destroy */
while( c )
{
if( c->conn_id == Idx ) return c;
- c = c->next;
+ c = (CLIENT *)c->next;
}
return NULL;
} /* Client_GetFromConn */
/* lt. Hash-Wert: Treffer! */
if( strcasecmp( c->id, search_id ) == 0 ) return c;
}
- c = c->next;
+ c = (CLIENT *)c->next;
}
return NULL;
} /* Client_Search */
while( c )
{
if(( c->type == CLIENT_SERVER ) && ( c->introducer == Client ) && ( c->token == Token )) return c;
- c = c->next;
+ c = (CLIENT *)c->next;
}
return NULL;
} /* Client_GetFromToken */
GLOBAL CHAR *Client_User( CLIENT *Client )
{
assert( Client != NULL );
- if( Client->user ) return Client->user;
+ if( Client->user[0] ) return Client->user;
else return "~";
} /* Client_User */
Conn_Close( Client->conn_id, str, str, TRUE );
return FALSE;
}
- c = c->next;
+ c = (CLIENT *)c->next;
}
return TRUE;
* so wird NULL geliefert. */
assert( c != NULL );
- return c->next;
+ return (CLIENT *)c->next;
} /* Client_Next */
GLOBAL INT Client_MyServerCount( VOID )
{
- return MyCount( CLIENT_SERVER );
+ CLIENT *c;
+ INT cnt;
+
+ cnt = 0;
+ c = My_Clients;
+ while( c )
+ {
+ if(( c->type == CLIENT_SERVER ) && ( c->hops == 1 )) cnt++;
+ c = (CLIENT *)c->next;
+ }
+ return cnt;
} /* Client_MyServerCount */
while( c )
{
if( c && ( c->type == CLIENT_USER ) && ( strchr( c->modes, 'o' ))) cnt++;
- c = c->next;
+ c = (CLIENT *)c->next;
}
return cnt;
} /* Client_OperCount */
while( c )
{
if( c && ( c->type != CLIENT_USER ) && ( c->type != CLIENT_SERVICE ) && ( c->type != CLIENT_SERVER )) cnt++;
- c = c->next;
+ c = (CLIENT *)c->next;
}
return cnt;
} /* Client_UnknownCount */
c = My_Clients;
while( c )
{
- if( c && ( c->type == Type )) cnt++;
- c = c->next;
+ if( c->type == Type ) cnt++;
+ c = (CLIENT *)c->next;
}
return cnt;
} /* Count */
c = My_Clients;
while( c )
{
- if( c && ( c->introducer == This_Server ) && ( c->type == Type )) cnt++;
- c = c->next;
+ if(( c->introducer == This_Server ) && ( c->type == Type )) cnt++;
+ c = (CLIENT *)c->next;
}
return cnt;
} /* MyCount */
c = My_Clients;
continue;
}
- else c = c->next;
+ else c = (CLIENT *)c->next;
}
Client->mytoken = token;
Log( LOG_DEBUG, "Assigned token %d to server \"%s\".", token, Client->id );