From: Joshua Rogers Date: Tue, 9 Sep 2025 06:52:44 +0000 (+0000) Subject: Simplify by removing lazy ACLDomainData::domains initialization (#2182) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f802bd0d4f2f8bdecbd91d9276dcf4a900957480;p=thirdparty%2Fsquid.git Simplify by removing lazy ACLDomainData::domains initialization (#2182) --- diff --git a/src/acl/DomainData.cc b/src/acl/DomainData.cc index 1b9224fb18..6d849aa31e 100644 --- a/src/acl/DomainData.cc +++ b/src/acl/DomainData.cc @@ -27,10 +27,7 @@ xRefFree(T &thing) ACLDomainData::~ACLDomainData() { - if (domains) { - domains->destroy(xRefFree); - delete domains; - } + domains.destroy(xRefFree); } template @@ -63,13 +60,13 @@ aclHostDomainCompare( char *const &a, char * const &b) bool ACLDomainData::match(char const *host) { - if (host == nullptr) - return 0; + if (!host) + return false; debugs(28, 3, "aclMatchDomainList: checking '" << host << "'"); char *h = const_cast(host); - char const * const * result = domains->find(h, aclHostDomainCompare); + const auto result = domains.find(h, aclHostDomainCompare); debugs(28, 3, "aclMatchDomainList: '" << host << "' " << (result ? "found" : "NOT found")); @@ -87,7 +84,7 @@ SBufList ACLDomainData::dump() const { AclDomainDataDumpVisitor visitor; - domains->visit(visitor); + domains.visit(visitor); return visitor.contents; } @@ -158,18 +155,15 @@ Acl::SplayInserter::DestroyValue(Value v) void ACLDomainData::parse() { - if (!domains) - domains = new Splay(); - while (char *t = ConfigParser::strtokFile()) { Tolower(t); - Acl::SplayInserter::Merge(*domains, xstrdup(t)); + Acl::SplayInserter::Merge(domains, xstrdup(t)); } } bool ACLDomainData::empty() const { - return domains->empty(); + return domains.empty(); } diff --git a/src/acl/DomainData.h b/src/acl/DomainData.h index 6a61582e83..e365a88662 100644 --- a/src/acl/DomainData.h +++ b/src/acl/DomainData.h @@ -18,14 +18,14 @@ class ACLDomainData : public ACLData MEMPROXY_CLASS(ACLDomainData); public: - ACLDomainData() : domains(nullptr) {} + ACLDomainData() = default; ~ACLDomainData() override; bool match(char const *) override; SBufList dump() const override; void parse() override; bool empty() const override; - Splay *domains; + Splay domains; }; #endif /* SQUID_SRC_ACL_DOMAINDATA_H */ diff --git a/src/acl/ServerName.cc b/src/acl/ServerName.cc index 20ea02c9b5..036c135e11 100644 --- a/src/acl/ServerName.cc +++ b/src/acl/ServerName.cc @@ -39,7 +39,7 @@ ACLServerNameData::match(const char *host) debugs(28, 3, "checking '" << host << "'"); char *h = const_cast(host); - char const * const * result = domains->find(h, aclHostDomainCompare); + char const * const * result = domains.find(h, aclHostDomainCompare); debugs(28, 3, "'" << host << "' " << (result ? "found" : "NOT found"));