From: Otto Moerbeek Date: Wed, 30 Nov 2022 13:26:18 +0000 (+0100) Subject: Use '\0' for (char) 0 and ref for string_view argument X-Git-Tag: dnsdist-1.8.0-rc1~209^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30351b0cb3d33067a36929e9ffb236e5940053b7;p=thirdparty%2Fpdns.git Use '\0' for (char) 0 and ref for string_view argument --- diff --git a/pdns/dnsname.cc b/pdns/dnsname.cc index db09f6c407..dd3c1ccef5 100644 --- a/pdns/dnsname.cc +++ b/pdns/dnsname.cc @@ -53,13 +53,13 @@ void DNSName::throwSafeRangeError(const std::string& msg, const char* buf, size_ throw std::range_error(msg + label + dots); } -DNSName::DNSName(const std::string_view sw) +DNSName::DNSName(const std::string_view& sw) { const char* p = sw.data(); size_t length = sw.length(); if(length == 0 || (length == 1 && p[0]=='.')) { - d_storage.assign(1, (char)0); + d_storage.assign(1, '\0'); } else { if(!std::memchr(p, '\\', length)) { unsigned char lenpos=0; @@ -71,7 +71,7 @@ DNSName::DNSName(const std::string_view sw) lenpos = d_storage.size(); if(*iter=='.') throwSafeRangeError("Found . in wrong position in DNSName: ", p, length); - d_storage.append(1, (char)0); + d_storage.append(1, '\0'); labellen=0; auto begiter=iter; for(; iter != pend && *iter!='.'; ++iter) { @@ -88,7 +88,7 @@ DNSName::DNSName(const std::string_view sw) d_storage[lenpos]=labellen; } - d_storage.append(1, (char)0); + d_storage.append(1, '\0'); } else { d_storage=segmentDNSNameRaw(p, length); diff --git a/pdns/dnsname.hh b/pdns/dnsname.hh index 90c752be3f..18b1e27159 100644 --- a/pdns/dnsname.hh +++ b/pdns/dnsname.hh @@ -99,7 +99,7 @@ public: DNSName(const DNSName& a) = default; DNSName(DNSName&& a) = default; - explicit DNSName(const std::string_view sw); //!< Constructs from a human formatted, escaped presentation + explicit DNSName(const std::string_view& sw); //!< Constructs from a human formatted, escaped presentation DNSName(const char* p, int len, int offset, bool uncompress, uint16_t* qtype=nullptr, uint16_t* qclass=nullptr, unsigned int* consumed=nullptr, uint16_t minOffset=0); //!< Construct from a DNS Packet, taking the first question if offset=12. If supplied, consumed is set to the number of bytes consumed from the packet, which will not be equal to the wire length of the resulting name in case of compression. bool isPartOf(const DNSName& rhs) const; //!< Are we part of the rhs name? Note that name.isPartOf(name).