]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Update parseRFC1035CharString to take a std::string_view argument.
authorMiod Vallat <miod.vallat@powerdns.com>
Wed, 20 Aug 2025 08:48:02 +0000 (10:48 +0200)
committerMiod Vallat <miod.vallat@powerdns.com>
Thu, 4 Sep 2025 11:50:24 +0000 (13:50 +0200)
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
pdns/dnslabeltext.rl
pdns/misc.hh

index 27f435094dc29b986b14615343cda5ac3736001d..3b02e594ca0e3fd3fae84281d9c92a680482d021 100644 (file)
@@ -3,6 +3,7 @@
 #include <stdio.h>
 #include <unistd.h>
 #include <string>
+#include <string_view>
 #include "dnsname.hh"
 #include "namespaces.hh"
 #include "dnswriter.hh"
@@ -172,11 +173,11 @@ DNSName::string_t segmentDNSNameRaw(const char* realinput, size_t inputlen)
 
 // Reads an RFC 1035 character string from 'in', puts the resulting bytes in 'out'.
 // Returns the amount of bytes read from 'in'
-size_t parseRFC1035CharString(const std::string &in, std::string &val) {
+size_t parseRFC1035CharString(std::string_view in, std::string &val) {
 
   val.clear();
   val.reserve(in.size());
-  const char *p = in.c_str();
+  const char *p = in.data();
   const char *pe = p + in.size();
   int cs = 0;
   uint8_t escaped_octet = 0;
index 482df37b2e7bdf3c465e240211b22714118dd3f4..6c9030974eaffe955255173d17c4166d101d9eb1 100644 (file)
@@ -38,6 +38,7 @@
 #include <syslog.h>
 #include <stdexcept>
 #include <string>
+#include <string_view>
 #include <cctype>
 #include <utility>
 #include <vector>
@@ -803,7 +804,7 @@ std::vector<ComboAddress> getResolvers(const std::string& resolvConfPath);
 
 DNSName reverseNameFromIP(const ComboAddress& ip);
 
-size_t parseRFC1035CharString(const std::string &in, std::string &val); // from ragel
+size_t parseRFC1035CharString(std::string_view in, std::string &val); // from ragel
 size_t parseSVCBValueListFromParsedRFC1035CharString(const std::string &in, vector<std::string> &val); // from ragel
 size_t parseSVCBValueList(const std::string &in, vector<std::string> &val);