aboutsummaryrefslogtreecommitdiff
path: root/src/util/strencodings.cpp
diff options
context:
space:
mode:
authorSebastian Falbesoner <sebastian.falbesoner@gmail.com>2020-08-07 20:25:42 +0200
committerSebastian Falbesoner <sebastian.falbesoner@gmail.com>2020-08-25 18:52:57 +0200
commite2aa1a585a83971639572cd2c84565ec360deac9 (patch)
treea4fad4da37ce843c6c9e40330379de60d00ddf20 /src/util/strencodings.cpp
parent2bc207190e6f1818b04c9336f6e0d625b2a2a0ba (diff)
downloadbitcoin-e2aa1a585a83971639572cd2c84565ec360deac9.tar.xz
util: make EncodeBase64 consume Spans
Diffstat (limited to 'src/util/strencodings.cpp')
-rw-r--r--src/util/strencodings.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/util/strencodings.cpp b/src/util/strencodings.cpp
index ec29efc586..079a4529a3 100644
--- a/src/util/strencodings.cpp
+++ b/src/util/strencodings.cpp
@@ -126,20 +126,20 @@ void SplitHostPort(std::string in, int &portOut, std::string &hostOut) {
hostOut = in;
}
-std::string EncodeBase64(const unsigned char* pch, size_t len)
+std::string EncodeBase64(Span<const unsigned char> input)
{
static const char *pbase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
std::string str;
- str.reserve(((len + 2) / 3) * 4);
- ConvertBits<8, 6, true>([&](int v) { str += pbase64[v]; }, pch, pch + len);
+ str.reserve(((input.size() + 2) / 3) * 4);
+ ConvertBits<8, 6, true>([&](int v) { str += pbase64[v]; }, input.begin(), input.end());
while (str.size() % 4) str += '=';
return str;
}
std::string EncodeBase64(const std::string& str)
{
- return EncodeBase64((const unsigned char*)str.data(), str.size());
+ return EncodeBase64(MakeUCharSpan(str));
}
std::vector<unsigned char> DecodeBase64(const char* p, bool* pf_invalid)