diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-11-05 18:05:23 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-11-05 18:05:23 +0900 |
| commit | 0c162dfbfb4a875fac9374c65cf93382ff9ce4ed (patch) | |
| tree | 6fbc9cc204305017438d9511db631b9b2e7fc538 /src/base32.cc | |
| parent | 6ea1b68db186036e9f05c06915f8c4bd757c3a25 (diff) | |
Made util::fromHex and base32::decode function template
Diffstat (limited to 'src/base32.cc')
| -rw-r--r-- | src/base32.cc | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/base32.cc b/src/base32.cc index 112964fe..fbfcc189 100644 --- a/src/base32.cc +++ b/src/base32.cc @@ -94,43 +94,6 @@ std::string encode(const std::string& src) return ret; } -std::string decode(const std::string& src) -{ - std::string ret; - if(src.size()%8) { - return ret; - } - bool done = false; - for(size_t i = 0; i < src.size() && !done; i += 8) { - uint64_t buf = 0; - size_t bits = 0; - for(size_t j = 0; j < 8; ++j) { - char ch = src[i+j]; - unsigned char value; - if('A' <= ch && ch <= 'Z') { - value = ch-'A'; - } else if('2' <= ch && ch <= '7') { - value = ch-'2'+26; - } else if(ch == '=') { - done = true; - break; - } else { - ret.clear(); - return ret; - } - buf <<= 5; - buf += value; - bits += 5; - } - buf >>= (bits%8); - bits = bits/8*8; - buf = hton64(buf); - char* p = reinterpret_cast<char*>(&buf); - ret.append(&p[(64-bits)/8], &p[8]); - } - return ret; -} - } // namespace base32 } // namespace aria2 |
