X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fclient.c;h=cc6641405b4eee17199b27bbb6127f7ddfa0f184;hp=c38c386b936fc46fe1227e59dfbb4b2f4f71447f;hb=467e76aa3296be5a811d53887d5caa41f827aaa8;hpb=e6d1bcdf82875c5ad1780d7b5903eb6daa43f32a diff --git a/src/ngircd/client.c b/src/ngircd/client.c index c38c386b..cc664140 100644 --- a/src/ngircd/client.c +++ b/src/ngircd/client.c @@ -9,7 +9,7 @@ * 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.59 2002/06/10 21:09:39 alex Exp $ + * $Id: client.c,v 1.61 2002/10/04 12:39:58 alex Exp $ * * client.c: Management aller Clients * @@ -53,8 +53,11 @@ #include +#define GETID_LEN (CLIENT_NICK_LEN-1) + 1 + (CLIENT_USER_LEN-1) + 1 + (CLIENT_HOST_LEN-1) + 1 + + LOCAL CLIENT *This_Server, *My_Clients; -LOCAL CHAR GetID_Buffer[CLIENT_ID_LEN]; +LOCAL CHAR GetID_Buffer[GETID_LEN]; LOCAL INT Count PARAMS(( CLIENT_TYPE Type )); @@ -353,7 +356,7 @@ Client_SetInfo( CLIENT *Client, CHAR *Info ) GLOBAL VOID Client_SetModes( CLIENT *Client, CHAR *Modes ) { - /* Hostname eines Clients setzen */ + /* Modes eines Clients setzen */ assert( Client != NULL ); assert( Modes != NULL ); @@ -363,6 +366,19 @@ Client_SetModes( CLIENT *Client, CHAR *Modes ) } /* Client_SetModes */ +GLOBAL VOID +Client_SetFlags( CLIENT *Client, CHAR *Flags ) +{ + /* Flags eines Clients setzen */ + + assert( Client != NULL ); + assert( Flags != NULL ); + + strncpy( Client->flags, Flags, CLIENT_FLAGS_LEN - 1 ); + Client->modes[CLIENT_FLAGS_LEN - 1] = '\0'; +} /* Client_SetFlags */ + + GLOBAL VOID Client_SetPassword( CLIENT *Client, CHAR *Pwd ) { @@ -637,6 +653,14 @@ Client_Modes( CLIENT *Client ) } /* Client_Modes */ +GLOBAL CHAR * +Client_Flags( CLIENT *Client ) +{ + assert( Client != NULL ); + return Client->flags; +} /* Client_Flags */ + + GLOBAL BOOLEAN Client_OperByMe( CLIENT *Client ) { @@ -692,7 +716,7 @@ Client_Mask( CLIENT *Client ) if( Client->type == CLIENT_SERVER ) return Client->id; - sprintf( GetID_Buffer, "%s!%s@%s", Client->id, Client->user, Client->host ); + snprintf( GetID_Buffer, GETID_LEN, "%s!%s@%s", Client->id, Client->user, Client->host ); return GetID_Buffer; } /* Client_Mask */ @@ -994,6 +1018,7 @@ New_Client_Struct( VOID ) c->token = -1; c->mytoken = -1; strcpy( c->away, "" ); + strcpy( c->flags, "" ); return c; } /* New_Client */