diff options
| author | Sebastian Falbesoner <[email protected]> | 2020-08-07 19:55:51 +0200 |
|---|---|---|
| committer | Sebastian Falbesoner <[email protected]> | 2020-08-25 18:52:51 +0200 |
| commit | 2bc207190e6f1818b04c9336f6e0d625b2a2a0ba (patch) | |
| tree | 5fa9684143f5f2e0fef4ef8b53444dcb3c262e9e /src/util | |
| parent | Merge #19628: net: change CNetAddr::ip to have flexible size (diff) | |
| download | discoin-2bc207190e6f1818b04c9336f6e0d625b2a2a0ba.tar.xz discoin-2bc207190e6f1818b04c9336f6e0d625b2a2a0ba.zip | |
util: make EncodeBase32 consume Spans
Diffstat (limited to 'src/util')
| -rw-r--r-- | src/util/strencodings.cpp | 8 | ||||
| -rw-r--r-- | src/util/strencodings.h | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/util/strencodings.cpp b/src/util/strencodings.cpp index 6d9302973..ec29efc58 100644 --- a/src/util/strencodings.cpp +++ b/src/util/strencodings.cpp @@ -201,20 +201,20 @@ std::string DecodeBase64(const std::string& str, bool* pf_invalid) return std::string((const char*)vchRet.data(), vchRet.size()); } -std::string EncodeBase32(const unsigned char* pch, size_t len) +std::string EncodeBase32(Span<const unsigned char> input) { static const char *pbase32 = "abcdefghijklmnopqrstuvwxyz234567"; std::string str; - str.reserve(((len + 4) / 5) * 8); - ConvertBits<8, 5, true>([&](int v) { str += pbase32[v]; }, pch, pch + len); + str.reserve(((input.size() + 4) / 5) * 8); + ConvertBits<8, 5, true>([&](int v) { str += pbase32[v]; }, input.begin(), input.end()); while (str.size() % 8) str += '='; return str; } std::string EncodeBase32(const std::string& str) { - return EncodeBase32((const unsigned char*)str.data(), str.size()); + return EncodeBase32(MakeUCharSpan(str)); } std::vector<unsigned char> DecodeBase32(const char* p, bool* pf_invalid) diff --git a/src/util/strencodings.h b/src/util/strencodings.h index 4c7a2694a..1d0695a78 100644 --- a/src/util/strencodings.h +++ b/src/util/strencodings.h @@ -52,7 +52,7 @@ std::string EncodeBase64(const unsigned char* pch, size_t len); std::string EncodeBase64(const std::string& str); std::vector<unsigned char> DecodeBase32(const char* p, bool* pf_invalid = nullptr); std::string DecodeBase32(const std::string& str, bool* pf_invalid = nullptr); -std::string EncodeBase32(const unsigned char* pch, size_t len); +std::string EncodeBase32(Span<const unsigned char> input); std::string EncodeBase32(const std::string& str); void SplitHostPort(std::string in, int& portOut, std::string& hostOut); |