base64.c revision 18298b00031545e253516c10b1af3b50fdfc36ac
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher/* Copyright (c) 2007 Dovecot authors, see the included COPYING file */
df4cc3a83c5d6700b6a09ff96cb4a6b1949b1aa9Stephen Gallagherstatic const char b64enc[] =
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0-7 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 8-15 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 16-23 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 24-31 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 32-39 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0xff, 0xff, 0xff, 0x3e, 0xff, 0xff, 0xff, 0x3f, /* 40-47 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, /* 48-55 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0x3c, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 56-63 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, /* 64-71 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, /* 72-79 */
897060147ddea72ecc1e86c6b7b915ff1d462f71Stephen Gallagher 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, /* 80-87 */
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0x17, 0x18, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, /* 88-95 */
84ae5edab16ad6be5e3be956cb6fa031c1428eb5Stephen Gallagher 0xff, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, /* 96-103 */
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, /* 104-111 */
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, /* 112-119 */
263e4574dacb4b7d2a18d5d42122bf3dce4c45b0Stephen Gallagher 0x31, 0x32, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, /* 120-127 */
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 128-255 */
263e4574dacb4b7d2a18d5d42122bf3dce4c45b0Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
263e4574dacb4b7d2a18d5d42122bf3dce4c45b0Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
e9ea1b4e59384cdfe3accdf31e5c579c3dad5591Stephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1df8e4158e752f1f010394d09e8a5e4f8201fd7eStephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1df8e4158e752f1f010394d09e8a5e4f8201fd7eStephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1df8e4158e752f1f010394d09e8a5e4f8201fd7eStephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1df8e4158e752f1f010394d09e8a5e4f8201fd7eStephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1df8e4158e752f1f010394d09e8a5e4f8201fd7eStephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1df8e4158e752f1f010394d09e8a5e4f8201fd7eStephen Gallagher 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
src_pos++;
#define IS_EMPTY(c) \
ret = 0;
ret = 0;
return ret;
return buf;