From: Miod Vallat Date: Mon, 11 Aug 2025 09:11:16 +0000 (+0200) Subject: Appease clang-tidy X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2cfaba6d7d55391ffe48233f3a5da57ebb55b5e5;p=thirdparty%2Fpdns.git Appease clang-tidy Signed-off-by: Miod Vallat --- diff --git a/pdns/pdnsutil.cc b/pdns/pdnsutil.cc index 2175f0021..969a38b52 100644 --- a/pdns/pdnsutil.cc +++ b/pdns/pdnsutil.cc @@ -1843,19 +1843,19 @@ static std::vector fillZoneFile(int& tmpfd, const char* tmpnam, Domai if (write(tmpfd, header.data(), header.length()) < 0) { unixDie("Writing zone to temporary file"); } - DNSResourceRecord rr; - while (info.backend->get(rr)) { - if (rr.qtype.getCode() == QType::ENT) { + DNSResourceRecord resrec; + while (info.backend->get(resrec)) { + if (resrec.qtype.getCode() == QType::ENT) { continue; } - DNSRecord dr(rr); - records.emplace_back(std::move(dr)); + DNSRecord rec(resrec); + records.emplace_back(std::move(rec)); } sort(records.begin(), records.end(), DNSRecord::prettyCompare); - for (const auto& dr : records) { - ostringstream os; - os<getZoneRepresentation(true)<getZoneRepresentation(true)<getCapabilities() & DNSBackend::CAP_LIST) == 0) { + if ((info.backend->getCapabilities() & DNSBackend::CAP_LIST) == 0) { cerr << "Backend for zone '" << zone << "' does not support listing its contents." << endl; return EXIT_FAILURE; } @@ -1920,7 +1920,7 @@ static int editZone(const ZoneName &zone, const PDNSColors& col) return EXIT_FAILURE; } - if (di.isSecondaryType() && !g_force) { + if (info.isSecondaryType() && !g_force) { cout << "Zone '" << zone << "' is a secondary zone." << endl; while (true) { cout << "Edit the zone anyway? (N/y) " << std::flush; @@ -1941,10 +1941,11 @@ static int editZone(const ZoneName &zone, const PDNSColors& col) // not even by other users in the same group, and certainly not by other // users. umask(S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH); + // NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays,modernize-avoid-c-arrays): std::array<> would not play well with ѕtruct deleteme below char tmpnam[]="/tmp/pdnsutil-XXXXXX"; - int tmpfd=mkstemp(tmpnam); + int tmpfd=mkstemp(static_cast(tmpnam)); if(tmpfd < 0) { - unixDie("Making temporary filename in "+string(tmpnam)); + unixDie("Making temporary filename in "+string(static_cast(tmpnam))); } struct deleteme { ~deleteme() { unlink(d_name.c_str()); } @@ -1954,23 +1955,25 @@ static int editZone(const ZoneName &zone, const PDNSColors& col) deleteme operator=(const deleteme &) = delete; deleteme operator=(deleteme &&) = delete; string d_name; - } dm(tmpnam); + } deleter(static_cast(tmpnam)); int gotoline=0; string editor="editor"; - if(auto e=getenv("EDITOR")) // <3 - editor=e; + if(auto* envvar=getenv("EDITOR")) { // NOLINT(concurrency-mt-unsafe) + editor=envvar; + } - vector pre, post; + vector pre; + vector post; map, vector> grouped; map, string> changed; - enum { CREATEZONEFILE, EDITFILE, INVALIDZONE, ASKAPPLY, ASKSOA, VALIDATE, APPLY } state = CREATEZONEFILE; + enum { CREATEZONEFILE, EDITFILE, INVALIDZONE, ASKAPPLY, ASKSOA, VALIDATE, APPLY } state{CREATEZONEFILE}; while (true) { switch (state) { case CREATEZONEFILE: - pre = fillZoneFile(tmpfd, tmpnam, di); - state = EDITFILE; + pre = fillZoneFile(tmpfd, static_cast(tmpnam), info); + //state = EDITFILE; [[fallthrough]]; case EDITFILE: post.clear(); @@ -1983,23 +1986,23 @@ static int editZone(const ZoneName &zone, const PDNSColors& col) throw std::runtime_error("Editing file with: '" + editor + "' returned non-zero status " + std::to_string(result)); } } - if (!parseZoneFile(tmpnam, gotoline, post)) { + if (!parseZoneFile(static_cast(tmpnam), gotoline, post)) { state = INVALIDZONE; break; } grouped.clear(); - for (const auto& dr : post) { - grouped[{dr.d_name,dr.d_type}].push_back(dr); + for (const auto& rec : post) { + grouped[{rec.d_name,rec.d_type}].push_back(rec); } { vector checkrr; checkrr.reserve(post.size()); - for(const DNSRecord& rr : post) { - DNSResourceRecord drr = DNSResourceRecord::fromWire(rr); - drr.domain_id = di.id; + for(const DNSRecord& rec : post) { + DNSResourceRecord drr = DNSResourceRecord::fromWire(rec); + drr.domain_id = info.id; checkrr.push_back(std::move(drr)); } - if(checkZone(dk, B, zone, &checkrr) != 0) { + if(checkZone(dsk, B, zone, &checkrr) != 0) { state = INVALIDZONE; break; } @@ -2030,26 +2033,26 @@ static int editZone(const ZoneName &zone, const PDNSColors& col) break; case VALIDATE: { - vector diff; + vector diffs; changed.clear(); - set_difference(pre.cbegin(), pre.cend(), post.cbegin(), post.cend(), back_inserter(diff), DNSRecord::prettyCompare); - for(const auto& d : diff) { + set_difference(pre.cbegin(), pre.cend(), post.cbegin(), post.cend(), back_inserter(diffs), DNSRecord::prettyCompare); + for(const auto& diff : diffs) { ostringstream str; - str << col.red() << "-" << d.d_name << " " << d.d_ttl << " IN " << DNSRecordContent::NumberToType(d.d_type) << " " <getZoneRepresentation(true) << col.rst() <getZoneRepresentation(true) << col.rst() <getZoneRepresentation(true) << col.rst() <getZoneRepresentation(true) << col.rst() <getZoneRepresentation(true) << col.rst() <getZoneRepresentation(true) << col.rst() <getZoneRepresentation(true) << col.rst() <startTransaction(zone, UnknownDomainID); + info.backend->startTransaction(zone, UnknownDomainID); for(const auto& change : changed) { - vector vrr; - for(const DNSRecord& rr : grouped[change.first]) { - DNSResourceRecord crr = DNSResourceRecord::fromWire(rr); - crr.domain_id = di.id; - vrr.push_back(std::move(crr)); + vector records; + for(const DNSRecord& rec : grouped[change.first]) { + DNSResourceRecord resrec = DNSResourceRecord::fromWire(rec); + resrec.domain_id = info.id; + records.push_back(std::move(resrec)); } - di.backend->replaceRRSet(di.id, change.first.first, QType(change.first.second), vrr); + info.backend->replaceRRSet(info.id, change.first.first, QType(change.first.second), records); } - rectifyZone(dk, zone, false, false); - di.backend->commitTransaction(); + rectifyZone(dsk, zone, false, false); + info.backend->commitTransaction(); return EXIT_SUCCESS; } }