commit 7e2e23d12fa38732a1d72fac207ed1396d28e287 from: Florian Westphal date: Sat Dec 02 14:00:00 2006 UTC make several counters unsigned, char *s -> const char *s [from HEAD] commit - ab7bb7458171b3c49ceec6884136c2aabe49467a commit + 7e2e23d12fa38732a1d72fac207ed1396d28e287 blob - 01ef091668ba9ae73f3fdd1d05ae05c27bf59fd9 blob + e92d7c3ae18b441667d80fc30b0becde862b061b --- src/ngircd/client.c +++ src/ngircd/client.c @@ -17,7 +17,7 @@ #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 @@ -57,8 +57,8 @@ static WHOWAS My_Whowas[MAX_WHOWAS]; 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 )); @@ -211,8 +211,8 @@ Init_New_Client(CONN_ID Idx, CLIENT *Introducer, CLIEN 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; @@ -399,7 +399,7 @@ Client_SetUser( CLIENT *Client, char *User, bool Ident assert( Client != NULL ); assert( User != NULL ); - + if( Idented ) strlcpy( Client->user, User, sizeof( Client->user )); else { @@ -416,7 +416,7 @@ Client_SetInfo( CLIENT *Client, char *Info ) assert( Client != NULL ); assert( Info != NULL ); - + strlcpy( Client->info, Info, sizeof( Client->info )); } /* Client_SetInfo */ @@ -452,7 +452,7 @@ Client_SetPassword( CLIENT *Client, char *Pwd ) assert( Client != NULL ); assert( Pwd != NULL ); - + strlcpy( Client->pwd, Pwd, sizeof( Client->pwd )); } /* Client_SetPassword */ @@ -522,7 +522,7 @@ Client_ModeAdd( CLIENT *Client, char Mode ) */ char x[2]; - + assert( Client != NULL ); x[0] = Mode; x[1] = '\0'; @@ -734,11 +734,13 @@ GLOBAL CLIENT * 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 */ @@ -750,7 +752,7 @@ Client_Mask( CLIENT *Client ) * 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 ); @@ -795,12 +797,9 @@ Client_Away( CLIENT *Client ) 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 ); @@ -913,11 +912,11 @@ Client_MyServiceCount( void ) } /* Client_MyServiceCount */ -GLOBAL long +GLOBAL unsigned long Client_MyServerCount( void ) { CLIENT *c; - long cnt; + unsigned long cnt; cnt = 0; c = My_Clients; @@ -930,11 +929,11 @@ Client_MyServerCount( void ) } /* Client_MyServerCount */ -GLOBAL long +GLOBAL unsigned long Client_OperCount( void ) { CLIENT *c; - long cnt; + unsigned long cnt; cnt = 0; c = My_Clients; @@ -947,19 +946,19 @@ Client_OperCount( void ) } /* 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 */ @@ -979,16 +978,13 @@ Client_MyMaxUserCount( void ) 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; @@ -996,11 +992,11 @@ Client_IsValidNick( char *Nick ) 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 */ @@ -1037,13 +1033,12 @@ Client_StartTime(CLIENT *Client) } /* 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 ) { @@ -1054,13 +1049,12 @@ Count( CLIENT_TYPE Type ) } /* 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 ) { @@ -1075,9 +1069,9 @@ static CLIENT * New_Client_Struct( void ) { /* Neue CLIENT-Struktur pre-initialisieren */ - + CLIENT *c; - + c = (CLIENT *)malloc( sizeof( CLIENT )); if( ! c ) { @@ -1130,7 +1124,7 @@ Adjust_Counters( CLIENT *Client ) assert( Client != NULL ); if( Client->type != CLIENT_USER ) return; - + if( Client->conn_id != NONE ) { /* Local connection */ @@ -1153,7 +1147,7 @@ Client_RegisterWhowas( CLIENT *Client ) { int slot; time_t now; - + assert( Client != NULL ); now = time(NULL); @@ -1167,7 +1161,7 @@ Client_RegisterWhowas( CLIENT *Client ) #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 )); @@ -1179,7 +1173,7 @@ Client_RegisterWhowas( CLIENT *Client ) 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 @@ -8,7 +8,7 @@ * (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) */ @@ -138,15 +138,15 @@ GLOBAL bool Client_CheckID PARAMS(( CLIENT *Client, ch 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 ));