mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-10-31 05:52:59 +00:00 
			
		
		
		
	- New functions Channel_[Set]Key(), Channel_[Set]MaxUsers.
This commit is contained in:
		| @@ -17,7 +17,7 @@ | ||||
|  | ||||
| #include "portab.h" | ||||
|  | ||||
| static char UNUSED id[] = "$Id: channel.c,v 1.37 2002/12/14 13:21:56 alex Exp $"; | ||||
| static char UNUSED id[] = "$Id: channel.c,v 1.38 2002/12/16 23:05:24 alex Exp $"; | ||||
|  | ||||
| #include "imp.h" | ||||
| #include <assert.h> | ||||
| @@ -350,6 +350,22 @@ Channel_Modes( CHANNEL *Chan ) | ||||
| } /* Channel_Modes */ | ||||
|  | ||||
|  | ||||
| GLOBAL CHAR * | ||||
| Channel_Key( CHANNEL *Chan ) | ||||
| { | ||||
| 	assert( Chan != NULL ); | ||||
| 	return Chan->key; | ||||
| } /* Channel_Key */ | ||||
|  | ||||
|  | ||||
| GLOBAL LONG | ||||
| Channel_MaxUsers( CHANNEL *Chan ) | ||||
| { | ||||
| 	assert( Chan != NULL ); | ||||
| 	return Chan->maxusers; | ||||
| } /* Channel_MaxUsers */ | ||||
|  | ||||
|  | ||||
| GLOBAL CHANNEL * | ||||
| Channel_First( VOID ) | ||||
| { | ||||
| @@ -629,6 +645,27 @@ Channel_SetModes( CHANNEL *Chan, CHAR *Modes ) | ||||
| } /* Channel_SetModes */ | ||||
|  | ||||
|  | ||||
| GLOBAL VOID | ||||
| Channel_SetKey( CHANNEL *Chan, CHAR *Key ) | ||||
| { | ||||
| 	assert( Chan != NULL ); | ||||
| 	assert( Key != NULL ); | ||||
|  | ||||
| 	strncpy( Chan->key, Key, CLIENT_PASS_LEN - 1 ); | ||||
| 	Chan->key[CLIENT_PASS_LEN - 1] = '\0'; | ||||
| 	Log( LOG_DEBUG, "Channel %s: Key is now \"%s\".", Chan->name, Chan->key ); | ||||
| } /* Channel_SetKey */ | ||||
|  | ||||
|  | ||||
| GLOBAL VOID | ||||
| Channel_SetMaxUsers( CHANNEL *Chan, LONG Count ) | ||||
| { | ||||
| 	assert( Chan != NULL ); | ||||
|  | ||||
| 	Chan->maxusers = Count; | ||||
| 	Log( LOG_DEBUG, "Channel %s: Member limit is now %ld.", Chan->name, Chan->maxusers ); | ||||
| } /* Channel_SetMaxUsers */ | ||||
|  | ||||
|  | ||||
| GLOBAL BOOLEAN | ||||
| Channel_Write( CHANNEL *Chan, CLIENT *From, CLIENT *Client, CHAR *Text ) | ||||
| @@ -678,6 +715,8 @@ Channel_Create( CHAR *Name ) | ||||
| 	strcpy( c->modes, "" ); | ||||
| 	strcpy( c->topic, "" ); | ||||
| 	c->hash = Hash( c->name ); | ||||
| 	strcpy( c->key, "" ); | ||||
| 	c->maxusers = 0; | ||||
|  | ||||
| 	/* Verketten */ | ||||
| 	c->next = My_Channels; | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
|  * (at your option) any later version. | ||||
|  * Please read the file COPYING, README and AUTHORS for more information. | ||||
|  * | ||||
|  * $Id: channel.h,v 1.25 2002/12/14 13:21:56 alex Exp $ | ||||
|  * $Id: channel.h,v 1.26 2002/12/16 23:05:24 alex Exp $ | ||||
|  * | ||||
|  * Channel management (header) | ||||
|  */ | ||||
| @@ -25,10 +25,12 @@ | ||||
| typedef struct _CHANNEL | ||||
| { | ||||
| 	struct _CHANNEL *next; | ||||
| 	CHAR name[CHANNEL_NAME_LEN];	/* Name des Channel */ | ||||
| 	UINT32 hash;			/* Hash ueber (kleingeschrieben) Namen */ | ||||
| 	CHAR modes[CHANNEL_MODE_LEN];	/* Channel-Modes */ | ||||
| 	CHAR topic[CHANNEL_TOPIC_LEN];	/* Topic des Channels */ | ||||
| 	CHAR name[CHANNEL_NAME_LEN];	/* Name of the channel */ | ||||
| 	UINT32 hash;			/* Hash of the (lowecase!) name */ | ||||
| 	CHAR modes[CHANNEL_MODE_LEN];	/* Channel modes */ | ||||
| 	CHAR topic[CHANNEL_TOPIC_LEN];	/* Topic of the channel */ | ||||
| 	CHAR key[CLIENT_PASS_LEN];	/* Channel key ("password", mode "k" ) */ | ||||
| 	LONG maxusers;			/* Maximum number of members (mode "l") */ | ||||
| } CHANNEL; | ||||
|  | ||||
| typedef struct _CLIENT2CHAN | ||||
| @@ -66,9 +68,13 @@ GLOBAL INT Channel_PCount PARAMS(( VOID )); | ||||
| GLOBAL CHAR *Channel_Name PARAMS(( CHANNEL *Chan )); | ||||
| GLOBAL CHAR *Channel_Modes PARAMS(( CHANNEL *Chan )); | ||||
| GLOBAL CHAR *Channel_Topic PARAMS(( CHANNEL *Chan )); | ||||
| GLOBAL CHAR *Channel_Key PARAMS(( CHANNEL *Chan )); | ||||
| GLOBAL LONG Channel_MaxUsers PARAMS(( CHANNEL *Chan )); | ||||
|  | ||||
| GLOBAL VOID Channel_SetTopic PARAMS(( CHANNEL *Chan, CHAR *Topic )); | ||||
| GLOBAL VOID Channel_SetModes PARAMS(( CHANNEL *Chan, CHAR *Modes )); | ||||
| GLOBAL VOID Channel_SetKey PARAMS(( CHANNEL *Chan, CHAR *Key )); | ||||
| GLOBAL VOID Channel_SetMaxUsers PARAMS(( CHANNEL *Chan, LONG Count )); | ||||
|  | ||||
| GLOBAL CHANNEL *Channel_Search PARAMS(( CHAR *Name )); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Alexander Barton
					Alexander Barton