From: Alexander Barton Date: Thu, 11 Nov 2010 11:39:19 +0000 (+0100) Subject: Save channel creation time; new function Channel_CreationTime() X-Git-Tag: rel-17.1~10^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9bc5d565bbbd1131aaa7608076598167036f261b;p=ngircd Save channel creation time; new function Channel_CreationTime() --- diff --git a/src/ngircd/channel.c b/src/ngircd/channel.c index 175f23b2..edbbc38b 100644 --- a/src/ngircd/channel.c +++ b/src/ngircd/channel.c @@ -697,6 +697,14 @@ Channel_TopicWho(CHANNEL *Chan) return Chan->topic_who; } /* Channel_TopicWho */ + +GLOBAL unsigned int +Channel_CreationTime(CHANNEL *Chan) +{ + assert(Chan != NULL); + return (unsigned int) Chan->creation_time; +} /* Channel_CreationTime */ + #endif @@ -834,6 +842,9 @@ Channel_Create( const char *Name ) strlcpy( c->name, Name, sizeof( c->name )); c->hash = Hash( c->name ); c->next = My_Channels; +#ifndef STRICT_RFC + c->creation_time = time(NULL); +#endif My_Channels = c; LogDebug("Created new channel structure for \"%s\".", Name); return c; diff --git a/src/ngircd/channel.h b/src/ngircd/channel.h index 46e7e13a..030f9109 100644 --- a/src/ngircd/channel.h +++ b/src/ngircd/channel.h @@ -30,6 +30,7 @@ typedef struct _CHANNEL char modes[CHANNEL_MODE_LEN]; /* Channel modes */ array topic; /* Topic of the channel */ #ifndef STRICT_RFC + time_t creation_time; /* Channel creation time */ time_t topic_time; /* Time when topic was set */ char topic_who[CLIENT_NICK_LEN];/* Nickname of user that set topic */ #endif @@ -118,6 +119,7 @@ GLOBAL CHANNEL *Channel_Create PARAMS(( const char *Name )); #ifndef STRICT_RFC GLOBAL unsigned int Channel_TopicTime PARAMS(( CHANNEL *Chan )); GLOBAL char *Channel_TopicWho PARAMS(( CHANNEL *Chan )); +GLOBAL unsigned int Channel_CreationTime PARAMS(( CHANNEL *Chan )); #endif GLOBAL bool Channel_AddInvite PARAMS((CHANNEL *c, const char *Mask, bool OnlyOnce ));