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 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
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 } | 202 } |
203 | 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); | |
sprang_webrtc
2016/12/14 08:43:04
It's actually allowed to write DecodeFromArrayTemp
johan
2016/12/14 10:21:15
Done
| |
211 } | |
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 |
212 const DecodeFlags parse_flags = flags & DO_PARSE_MASK; | 221 const DecodeFlags parse_flags = flags & DO_PARSE_MASK; |
213 const DecodeFlags pad_flags = flags & DO_PAD_MASK; | 222 const DecodeFlags pad_flags = flags & DO_PAD_MASK; |
(...skipping 37 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 |