about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/ngircd/channel.c23
-rw-r--r--src/ngircd/channel.h9
2 files changed, 30 insertions, 2 deletions
diff --git a/src/ngircd/channel.c b/src/ngircd/channel.c
index 4f0482d7..561d9aa0 100644
--- a/src/ngircd/channel.c
+++ b/src/ngircd/channel.c
@@ -9,11 +9,14 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: channel.c,v 1.14 2002/02/27 15:21:21 alex Exp $
+ * $Id: channel.c,v 1.15 2002/02/27 20:32:10 alex Exp $
  *
  * channel.c: Management der Channels
  *
  * $Log: channel.c,v $
+ * Revision 1.15  2002/02/27 20:32:10  alex
+ * - neue Funktionen Channel_Topic() und Channel_SetTopic().
+ *
  * Revision 1.14  2002/02/27 15:21:21  alex
  * - neue Funktion Channel_IsMemberOf() implementiert.
  *
@@ -449,6 +452,23 @@ GLOBAL BOOLEAN Channel_IsMemberOf( CHANNEL *Chan, CLIENT *Client )
 } /* Channel_IsMemberOf */
 
 
+GLOBAL CHAR *Channel_Topic( CHANNEL *Chan )
+{
+	assert( Chan != NULL );
+	return Chan->topic;
+} /* Channel_Topic */
+
+
+GLOBAL VOID Channel_SetTopic( CHANNEL *Chan, CHAR *Topic )
+{
+	assert( Chan != NULL );
+	assert( Topic != NULL );
+	
+	strncpy( Chan->topic, Topic, CHANNEL_TOPIC_LEN );
+	Chan->topic[CHANNEL_TOPIC_LEN - 1] = '\0';
+} /* Channel_SetTopic */
+
+
 LOCAL CHANNEL *New_Chan( CHAR *Name )
 {
 	/* Neue Channel-Struktur anlegen */
@@ -467,6 +487,7 @@ LOCAL CHANNEL *New_Chan( CHAR *Name )
 	strncpy( c->name, Name, CHANNEL_NAME_LEN );
 	c->name[CHANNEL_NAME_LEN - 1] = '\0';
 	strcpy( c->modes, "" );
+	strcpy( c->topic, "" );
 
 	Log( LOG_DEBUG, "Created new channel structure for \"%s\".", Name );
 	
diff --git a/src/ngircd/channel.h b/src/ngircd/channel.h
index 85695ee6..22189c43 100644
--- a/src/ngircd/channel.h
+++ b/src/ngircd/channel.h
@@ -9,11 +9,14 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: channel.h,v 1.12 2002/02/27 15:21:21 alex Exp $
+ * $Id: channel.h,v 1.13 2002/02/27 20:32:10 alex Exp $
  *
  * channel.h: Management der Channels (Header)
  *
  * $Log: channel.h,v $
+ * Revision 1.13  2002/02/27 20:32:10  alex
+ * - neue Funktionen Channel_Topic() und Channel_SetTopic().
+ *
  * Revision 1.12  2002/02/27 15:21:21  alex
  * - neue Funktion Channel_IsMemberOf() implementiert.
  *
@@ -70,6 +73,7 @@ typedef struct _CHANNEL
 	struct _CHANNEL *next;
 	CHAR name[CHANNEL_NAME_LEN];	/* Name des Channel */
 	CHAR modes[CHANNEL_MODE_LEN];	/* Channel-Modes */
+	CHAR topic[CHANNEL_TOPIC_LEN];	/* Topic des Channels */
 } CHANNEL;
 
 typedef struct _CLIENT2CHAN
@@ -100,6 +104,9 @@ GLOBAL INT Channel_Count( VOID );
 
 GLOBAL CHAR *Channel_Name( CHANNEL *Chan );
 GLOBAL CHAR *Channel_Modes( CHANNEL *Chan );
+GLOBAL CHAR *Channel_Topic( CHANNEL *Chan );
+
+GLOBAL VOID Channel_SetTopic( CHANNEL *Chan, CHAR *Topic );
 
 GLOBAL CHANNEL *Channel_Search( CHAR *Name );