37 return strcasecmp ((
char *)l,(
char *)r);
44 return strcmp ((
char *)l,(
char *)r);
55 const char *h =
static_cast<const char *
>(a);
56 const char *d =
static_cast<const char *
>(b);
66 debugs(28, 3,
"aclMatchDomainList: checking '" << host <<
"'");
68 char *h =
const_cast<char *
>(host);
71 debugs(28, 3,
"aclMatchDomainList: '" << host <<
"' " << (result ?
"found" :
"NOT found"));
73 return (result !=
nullptr);
123 if (*a ==
'.' && *b ==
'.') {
125 return strlen(a) >= strlen(b);
128 if (*a !=
'.' && *b !=
'.') {
144 Assure(!
"domain name sets cannot partially overlap");
#define Assure(condition)
int splaystrcmp(T &l, T &r)
static int aclHostDomainCompare(char *const &a, char *const &b)
int splaystrcasecmp(T &l, T &r)
int matchDomainName(const char *h, const char *d, MatchDomainNameFlags flags)
~ACLDomainData() override
SBufList dump() const override
bool match(char const *) override
bool empty() const override
static Value MakeCombinedValue(const Value &a, const Value &b)
static void DestroyValue(Value v)
A Splay::SPLAYFREE-like function that destroys parsed ACL parameter values.
static int Compare(const Value &a, const Value &b)
static bool IsSubset(const Value &a, const Value &b)
static void Merge(Splay< Value > &, Value &&)
static char * strtokFile()
Value const * find(FindValue const &, int(*compare)(FindValue const &a, Value const &b)) const
void visit(ValueVisitor &) const
left-to-right visit of all stored Values
void destroy(SPLAYFREE *=DefaultFree)
#define debugs(SECTION, LEVEL, CONTENT)
std::list< SBuf > SBufList
void operator()(char *const &node_data)