#include "defines.h"
#include "conn-func.h"
-#include "client.h"
#include "exp.h"
#include "channel.h"
#include "imp.h"
#include "irc-write.h"
-#include "resolve.h"
#include "conf.h"
#include "hash.h"
#include "lists.h"
* Add_Client().
*/
GLOBAL bool
-Channel_Join( CLIENT *Client, char *Name )
+Channel_Join( CLIENT *Client, const char *Name )
{
CHANNEL *chan;
GLOBAL void
-Channel_Quit( CLIENT *Client, char *Reason )
+Channel_Quit( CLIENT *Client, const char *Reason )
{
CHANNEL *c, *next_c;
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
GLOBAL void
-Channel_SetModes( CHANNEL *Chan, char *Modes )
+Channel_SetModes( CHANNEL *Chan, const char *Modes )
{
assert( Chan != NULL );
assert( Modes != NULL );
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;
Channel_AddBan(CHANNEL *c, const char *mask )
{
struct list_head *h = Channel_GetListBans(c);
+ LogDebug("Adding \"%s\" to \"%s\" %s list", mask, Channel_Name(c), "ban");
return Lists_Add(h, mask, false);
}
Channel_AddInvite(CHANNEL *c, const char *mask, bool onlyonce)
{
struct list_head *h = Channel_GetListInvites(c);
+ LogDebug("Adding \"%s\" to \"%s\" %s list", mask, Channel_Name(c), "invite");
return Lists_Add(h, mask, onlyonce);
}
* Log a message to the local &SERVER channel, if it exists.
*/
GLOBAL void
-Channel_LogServer(char *msg)
+Channel_LogServer(const char *msg)
{
CHANNEL *sc;
CLIENT *c;
return false;
}
- while (fgets(line, sizeof(line), fd) != NULL) {
+ while (fgets(line, (int)sizeof(line), fd) != NULL) {
ngt_TrimStr(line);
if (! (nick = strchr(line, ':')))
continue;