#endif
-#include <errno.h>
+#include <cerrno>
#include "socketengine.h"
/* Contains irc-specific definitions */
#endif
/** Match raw binary data using CIDR rules.
- *
+ *
* This function will use binary comparison to compare the
* two bit sequences, address and mask, up to mask_bits
* bits in size. If they match, it will return true.
CoreExport bool MatchCIDR(const std::string &address, const std::string &cidr_mask, bool match_with_username);
/** Convert an insp_inaddr into human readable form.
- *
+ *
* @param n An insp_inaddr (IP address) structure
* @return A human-readable address. IPV6 addresses
* will be shortened to remove fields which are 0.
CoreExport const char* insp_ntoa(insp_inaddr n);
/** Convert a human-readable address into an insp_inaddr.
- *
+ *
* @param a A human-readable address
* @param n An insp_inaddr struct which the result
* will be copied into on success.
/* $Core: libIRCDchannels */
#include "inspircd.h"
-#include <stdarg.h>
+#include <cstdarg>
#include "wildcard.h"
#include "mode.h"
void Channel::SetModeParam(char mode,const char* parameter,bool mode_on)
{
- CustomModeList::iterator n = custom_mode_params.find(mode);
+ CustomModeList::iterator n = custom_mode_params.find(mode);
if (mode_on)
{
unsigned long Channel::DelUser(User* user)
{
CUListIter a = internal_userlist.find(user);
-
+
if (a != internal_userlist.end())
{
internal_userlist.erase(a);
DelHalfoppedUser(user);
DelVoicedUser(user);
}
-
+
return internal_userlist.size();
}
CUListIter a = internal_halfop_userlist.find(user);
if (a != internal_halfop_userlist.end())
- {
+ {
internal_halfop_userlist.erase(a);
}
}
void Channel::DelVoicedUser(User* user)
{
CUListIter a = internal_voice_userlist.find(user);
-
+
if (a != internal_voice_userlist.end())
{
internal_voice_userlist.erase(a);
}
}
-/*
+/*
* add a channel to a user, creating the record for it if needed and linking
- * it to the user record
+ * it to the user record
*/
Channel* Channel::JoinUser(InspIRCd* Instance, User *user, const char* cn, bool override, const char* key, bool bursting, time_t TS)
{
for (BanList::iterator i = this->bans.begin(); i != this->bans.end(); i++)
{
/* This allows CIDR ban matching
- *
+ *
* Full masked host Full unmasked host IP with/without CIDR
*/
if ((match(user->GetFullHost(),i->data)) || (match(user->GetFullRealHost(),i->data)) || (match(mask, i->data, true)))
std::string maskptr = i->data.substr(2);
/* This allows CIDR ban matching
- *
+ *
* Full masked host Full unmasked host IP with/without CIDR
*/
if ((match(user->GetFullHost(), maskptr)) || (match(user->GetFullRealHost(), maskptr)) || (match(mask, maskptr, true)))
FOREACH_RESULT(I_OnAccessCheck,OnAccessCheck(src,user,this,AC_KICK));
if ((MOD_RESULT == ACR_DENY) && (!ServerInstance->ULine(src->server)))
return this->GetUserCounter();
-
+
if ((MOD_RESULT == ACR_DEFAULT) || (!ServerInstance->ULine(src->server)))
{
int them = this->GetStatus(src);
if (call_modules)
{
FOREACH_MOD(I_OnNamesListItem, OnNamesListItem(user, i->first, this, prefixlist, nick));
-
+
/* Nick was nuked, a module wants us to skip it */
if (nick.empty())
continue;
}
-
+
size_t ptrlen = 0;
if (curlen + prefixlist.length() + nick.length() + 1 > 480)
const char* Channel::GetPrefixChar(User *user)
{
static char pf[2] = {0, 0};
-
+
prefixlist::iterator n = prefixes.find(user);
if (n != prefixes.end())
{