| 179 | } |
| 180 | |
| 181 | static size_t Base64DecodePlain(void* dst, const char* b, const char* e) { |
| 182 | size_t n = 0; |
| 183 | while (b < e) { |
| 184 | uudecode_1((char*)dst + n, (unsigned char*)b); |
| 185 | |
| 186 | b += 4; |
| 187 | n += 3; |
| 188 | } |
| 189 | |
| 190 | if (n > 0) { |
| 191 | if (b[-1] == ',' || b[-1] == '=') { |
| 192 | n--; |
| 193 | |
| 194 | if (b[-2] == ',' || b[-2] == '=') { |
| 195 | n--; |
| 196 | } |
| 197 | } |
| 198 | } |
| 199 | |
| 200 | return n; |
| 201 | } |
| 202 | |
| 203 | // Table for Base64StrictDecode |
| 204 | static const char base64_bkw_strict[] = |
no test coverage detected