OLD | NEW |
1 | 1 |
2 //********************************************************************* | 2 //********************************************************************* |
3 //* Base64 - a simple base64 encoder and decoder. | 3 //* Base64 - a simple base64 encoder and decoder. |
4 //* | 4 //* |
5 //* Copyright (c) 1999, Bob Withers - bwit@pobox.com | 5 //* Copyright (c) 1999, Bob Withers - bwit@pobox.com |
6 //* | 6 //* |
7 //* This code may be freely used for any purpose, either personal | 7 //* This code may be freely used for any purpose, either personal |
8 //* or commercial, provided the authors copyright notice remains | 8 //* or commercial, provided the authors copyright notice remains |
9 //* intact. | 9 //* intact. |
10 //* | 10 //* |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 } | 190 } |
191 | 191 |
192 bool Base64::DecodeFromArray(const char* data, size_t len, DecodeFlags flags, | 192 bool Base64::DecodeFromArray(const char* data, size_t len, DecodeFlags flags, |
193 std::string* result, size_t* data_used) { | 193 std::string* result, size_t* data_used) { |
194 return DecodeFromArrayTemplate<std::string>( | 194 return DecodeFromArrayTemplate<std::string>( |
195 data, len, flags, result, data_used); | 195 data, len, flags, result, data_used); |
196 } | 196 } |
197 | 197 |
198 bool Base64::DecodeFromArray(const char* data, size_t len, DecodeFlags flags, | 198 bool Base64::DecodeFromArray(const char* data, size_t len, DecodeFlags flags, |
199 vector<char>* result, size_t* data_used) { | 199 vector<char>* result, size_t* data_used) { |
200 return DecodeFromArrayTemplate<vector<char> >(data, len, flags, result, | 200 return DecodeFromArrayTemplate<vector<char>>(data, len, flags, result, |
201 data_used); | 201 data_used); |
| 202 } |
| 203 |
| 204 bool Base64::DecodeFromArray(const char* data, |
| 205 size_t len, |
| 206 DecodeFlags flags, |
| 207 vector<uint8_t>* result, |
| 208 size_t* data_used) { |
| 209 return DecodeFromArrayTemplate<vector<uint8_t>>(data, len, flags, result, |
| 210 data_used); |
202 } | 211 } |
203 | 212 |
204 template<typename T> | 213 template<typename T> |
205 bool Base64::DecodeFromArrayTemplate(const char* data, size_t len, | 214 bool Base64::DecodeFromArrayTemplate(const char* data, size_t len, |
206 DecodeFlags flags, T* result, | 215 DecodeFlags flags, T* result, |
207 size_t* data_used) | 216 size_t* data_used) |
208 { | 217 { |
209 RTC_DCHECK(NULL != result); | 218 RTC_DCHECK(NULL != result); |
210 RTC_DCHECK(flags <= (DO_PARSE_MASK | DO_PAD_MASK | DO_TERM_MASK)); | 219 RTC_DCHECK(flags <= (DO_PARSE_MASK | DO_PAD_MASK | DO_TERM_MASK)); |
211 | 220 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 if ((DO_TERM_BUFFER == term_flags) && (dpos != len)) { | 260 if ((DO_TERM_BUFFER == term_flags) && (dpos != len)) { |
252 success = false; // unused chars | 261 success = false; // unused chars |
253 } | 262 } |
254 if (data_used) { | 263 if (data_used) { |
255 *data_used = dpos; | 264 *data_used = dpos; |
256 } | 265 } |
257 return success; | 266 return success; |
258 } | 267 } |
259 | 268 |
260 } // namespace rtc | 269 } // namespace rtc |
OLD | NEW |