| 24 | #define DECODE64(c) ((c > 32 && c<127)? base64val[(int)c] : BAD) |
| 25 | |
| 26 | unsigned char* en64 (const unsigned char *in, unsigned char *out, int inlen) |
| 27 | { |
| 28 | for (; inlen > 0; inlen -= 3, in+=3) |
| 29 | { |
| 30 | |
| 31 | *out++ = base64digits[in[0] >> 2]; |
| 32 | *out++ = base64digits[((in[0]&3)<<4) | ((inlen > 1)?(in[1]>>4):0)]; |
| 33 | *out++ = (inlen > 1)? base64digits[((in[1] << 2) & 0x3c) | ((inlen > 2)? (in[2] >> 6) : 0)]: '='; |
| 34 | *out++ = (inlen > 2)? base64digits[in[2] & 0x3f] : '='; |
| 35 | } |
| 36 | *out = '\0'; |
| 37 | return out; |
| 38 | } |
| 39 | |
| 40 | int de64 (const char *in, char *out, int maxlen) |
| 41 | { |
no outgoing calls
no test coverage detected