/*
- * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
#include "ConfigParser.h"
#include "Debug.h"
#include "globals.h"
+#include "sbuf/Algorithms.h"
#include "util.h"
-#include "SBufAlgos.h"
-ACLUserData::~ACLUserData()
+const Acl::ParameterFlags &
+ACLUserData::supportedFlags() const
{
+ static const Acl::ParameterFlags flagNames = { "-i", "+i" };
+ return flagNames;
}
bool
{
SBufList sl;
- if (flags.case_insensitive)
- sl.push_back(SBuf("-i"));
-
if (flags.required) {
sl.push_back(SBuf("REQUIRED"));
- } else {
- sl.insert(sl.end(), userDataNames.begin(), userDataNames.end());
+ return sl;
}
- debugs(28,5, "ACLUserData dump output: " << SBufContainerJoin(userDataNames,SBuf(" ")));
+ if (flags.case_insensitive)
+ sl.push_back(SBuf("-i"));
+
+ sl.insert(sl.end(), userDataNames.begin(), userDataNames.end());
+
+ debugs(28,5, "ACLUserData dump output: " <<
+ JoinContainerToSBuf(userDataNames.begin(), userDataNames.end(),
+ SBuf(" ")));
return sl;
}
+static bool
+CaseSensitiveSBufCompare(const SBuf &lhs, const SBuf &rhs)
+{
+ return (lhs.cmp(rhs) < 0);
+}
+
static bool
CaseInsensitveSBufCompare(const SBuf &lhs, const SBuf &rhs)
{
return (lhs.caseCmp(rhs) < 0);
}
+ACLUserData::ACLUserData() :
+ userDataNames(CaseSensitiveSBufCompare)
+{
+ flags.case_insensitive = false;
+ flags.required = false;
+}
+
void
ACLUserData::parse()
{