commit - ab7bb7458171b3c49ceec6884136c2aabe49467a
commit + 7e2e23d12fa38732a1d72fac207ed1396d28e287
blob - 01ef091668ba9ae73f3fdd1d05ae05c27bf59fd9
blob + e92d7c3ae18b441667d80fc30b0becde862b061b
--- src/ngircd/client.c
+++ src/ngircd/client.c
#include "portab.h"
-static char UNUSED id[] = "$Id: client.c,v 1.91 2006/04/23 10:37:27 fw Exp $";
+static char UNUSED id[] = "$Id: client.c,v 1.91.2.1 2006/12/02 14:00:00 fw Exp $";
#include "imp.h"
#include <assert.h>
static int Last_Whowas = -1;
-static long Count PARAMS(( CLIENT_TYPE Type ));
-static long MyCount PARAMS(( CLIENT_TYPE Type ));
+static unsigned long Count PARAMS(( CLIENT_TYPE Type ));
+static unsigned long MyCount PARAMS(( CLIENT_TYPE Type ));
static CLIENT *New_Client_Struct PARAMS(( void ));
static void Generate_MyToken PARAMS(( CLIENT *Client ));
if( Modes ) Client_SetModes( client, Modes );
if( Type == CLIENT_SERVER ) Generate_MyToken( client );
- /* ist der User away? */
- if( strchr( client->modes, 'a' )) strlcpy( client->away, DEFAULT_AWAY_MSG, sizeof( client->away ));
+ if( strchr( client->modes, 'a' ))
+ strlcpy( client->away, DEFAULT_AWAY_MSG, sizeof( client->away ));
/* Verketten */
client->next = (POINTER *)My_Clients;
assert( Client != NULL );
assert( User != NULL );
-
+
if( Idented ) strlcpy( Client->user, User, sizeof( Client->user ));
else
{
assert( Client != NULL );
assert( Info != NULL );
-
+
strlcpy( Client->info, Info, sizeof( Client->info ));
} /* Client_SetInfo */
assert( Client != NULL );
assert( Pwd != NULL );
-
+
strlcpy( Client->pwd, Pwd, sizeof( Client->pwd ));
} /* Client_SetPassword */
*/
char x[2];
-
+
assert( Client != NULL );
x[0] = Mode; x[1] = '\0';
Client_NextHop( CLIENT *Client )
{
CLIENT *c;
-
+
assert( Client != NULL );
c = Client;
- while( c->introducer && ( c->introducer != c ) && ( c->introducer != This_Server )) c = c->introducer;
+ while( c->introducer && ( c->introducer != c ) && ( c->introducer != This_Server ))
+ c = c->introducer;
+
return c;
} /* Client_NextHop */
* Prefixe benoetigt wird. */
assert( Client != NULL );
-
+
if( Client->type == CLIENT_SERVER ) return Client->id;
snprintf( GetID_Buffer, GETID_LEN, "%s!%s@%s", Client->id, Client->user, Client->host );
GLOBAL bool
Client_CheckNick( CLIENT *Client, char *Nick )
{
- /* Nick ueberpruefen */
-
assert( Client != NULL );
assert( Nick != NULL );
-
- /* Nick ungueltig? */
+
if( ! Client_IsValidNick( Nick ))
{
IRC_WriteStrClient( Client, ERR_ERRONEUSNICKNAME_MSG, Client_ID( Client ), Nick );
} /* Client_MyServiceCount */
-GLOBAL long
+GLOBAL unsigned long
Client_MyServerCount( void )
{
CLIENT *c;
- long cnt;
+ unsigned long cnt;
cnt = 0;
c = My_Clients;
} /* Client_MyServerCount */
-GLOBAL long
+GLOBAL unsigned long
Client_OperCount( void )
{
CLIENT *c;
- long cnt;
+ unsigned long cnt;
cnt = 0;
c = My_Clients;
} /* Client_OperCount */
-GLOBAL long
+GLOBAL unsigned long
Client_UnknownCount( void )
{
CLIENT *c;
- long cnt;
+ unsigned long cnt = 0;
- cnt = 0;
c = My_Clients;
while( c )
{
if( c && ( c->type != CLIENT_USER ) && ( c->type != CLIENT_SERVICE ) && ( c->type != CLIENT_SERVER )) cnt++;
c = (CLIENT *)c->next;
}
+
return cnt;
} /* Client_UnknownCount */
GLOBAL bool
-Client_IsValidNick( char *Nick )
+Client_IsValidNick( const char *Nick )
{
- /* Ist der Nick gueltig? */
+ const char *ptr;
+ static const char goodchars[] = ";0123456789-";
- char *ptr, goodchars[20];
-
assert( Nick != NULL );
- strcpy( goodchars, ";0123456789-" );
-
if( Nick[0] == '#' ) return false;
if( strchr( goodchars, Nick[0] )) return false;
if( strlen( Nick ) >= CLIENT_NICK_LEN ) return false;
ptr = Nick;
while( *ptr )
{
- if(( *ptr < 'A' ) && ( ! strchr( goodchars, *ptr ))) return false;
- if(( *ptr > '}' ) && ( ! strchr( goodchars, *ptr ))) return false;
+ if (( *ptr < 'A' ) && ( ! strchr( goodchars, *ptr ))) return false;
+ if ( *ptr > '}' ) return false;
ptr++;
}
-
+
return true;
} /* Client_IsValidNick */
} /* Client_Uptime */
-static long
+static unsigned long
Count( CLIENT_TYPE Type )
{
CLIENT *c;
- long cnt;
+ unsigned long cnt = 0;
- cnt = 0;
c = My_Clients;
while( c )
{
} /* Count */
-static long
+static unsigned long
MyCount( CLIENT_TYPE Type )
{
CLIENT *c;
- long cnt;
+ unsigned long cnt = 0;
- cnt = 0;
c = My_Clients;
while( c )
{
New_Client_Struct( void )
{
/* Neue CLIENT-Struktur pre-initialisieren */
-
+
CLIENT *c;
-
+
c = (CLIENT *)malloc( sizeof( CLIENT ));
if( ! c )
{
assert( Client != NULL );
if( Client->type != CLIENT_USER ) return;
-
+
if( Client->conn_id != NONE )
{
/* Local connection */
{
int slot;
time_t now;
-
+
assert( Client != NULL );
now = time(NULL);
#ifdef DEBUG
Log( LOG_DEBUG, "Saving WHOWAS information to slot %d ...", slot );
#endif
-
+
My_Whowas[slot].time = now;
strlcpy( My_Whowas[slot].id, Client_ID( Client ),
sizeof( My_Whowas[slot].id ));
sizeof( My_Whowas[slot].info ));
strlcpy( My_Whowas[slot].server, Client_ID( Client_Introducer( Client )),
sizeof( My_Whowas[slot].server ));
-
+
Last_Whowas = slot;
} /* Client_RegisterWhowas */
blob - 73de52b5cd7e49dd89b6b0725d2600368b4c79a3
blob + 63c3bf899ab3465bdf34e1169f320708b6f5d484
--- src/ngircd/client.h
+++ src/ngircd/client.h
* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
*
- * $Id: client.h,v 1.42 2006/04/23 10:37:27 fw Exp $
+ * $Id: client.h,v 1.42.2.1 2006/12/02 14:00:00 fw Exp $
*
* Client management (header)
*/
GLOBAL long Client_UserCount PARAMS(( void ));
GLOBAL long Client_ServiceCount PARAMS(( void ));
GLOBAL long Client_ServerCount PARAMS(( void ));
-GLOBAL long Client_OperCount PARAMS(( void ));
-GLOBAL long Client_UnknownCount PARAMS(( void ));
+GLOBAL unsigned long Client_OperCount PARAMS(( void ));
+GLOBAL unsigned long Client_UnknownCount PARAMS(( void ));
GLOBAL long Client_MyUserCount PARAMS(( void ));
GLOBAL long Client_MyServiceCount PARAMS(( void ));
-GLOBAL long Client_MyServerCount PARAMS(( void ));
+GLOBAL unsigned long Client_MyServerCount PARAMS(( void ));
GLOBAL long Client_MaxUserCount PARAMS(( void ));
GLOBAL long Client_MyMaxUserCount PARAMS(( void ));
-GLOBAL bool Client_IsValidNick PARAMS(( char *Nick ));
+GLOBAL bool Client_IsValidNick PARAMS(( const char *Nick ));
GLOBAL WHOWAS *Client_GetWhowas PARAMS(( void ));
GLOBAL int Client_GetLastWhowasIndex PARAMS(( void ));