#include "inspircd_config.h"
#include "inspircd.h"
#include "inspircd_io.h"
-#include "inspircd_util.h"
#include <unistd.h>
#include <sys/errno.h>
#include <sys/ioctl.h>
chanrec::chanrec()
{
- strcpy(name,"");
- strcpy(custom_modes,"");
- strcpy(topic,"");
- strcpy(setby,"");
- strcpy(key,"");
- created = topicset = limit = 0;
- binarymodes = 0;
+ *name = *custom_modes = *topic = *setby = *key = 0;
+ created = topicset = limit = binarymodes = 0;
internal_userlist.clear();
}
strlcpy(chanlist[cname]->name, cname,CHANMAX);
chanlist[cname]->binarymodes = CM_TOPICLOCK | CM_NOEXTERNAL;
chanlist[cname]->created = TIME;
- strcpy(chanlist[cname]->topic, "");
+ *chanlist[cname]->topic = 0;
strncpy(chanlist[cname]->setby, user->nick,NICKMAX);
chanlist[cname]->topicset = 0;
Ptr = chanlist[cname];
}
if (Ptr->binarymodes & CM_INVITEONLY)
{
- MOD_RESULT = 0;
+ MOD_RESULT = 0;
+ irc::string xname(Ptr->name);
FOREACH_RESULT(OnCheckInvite(user, Ptr));
if (!MOD_RESULT)
{
log(DEBUG,"add_channel: channel is +i");
- if (user->IsInvited(Ptr->name))
+ if (user->IsInvited(xname))
{
/* user was invited to channel */
/* there may be an optional channel NOTICE here */
return NULL;
}
}
- user->RemoveInvite(Ptr->name);
+ user->RemoveInvite(xname);
}
if (Ptr->limit)
{