/* -*-c-*-
*
- * $Id: base64.c,v 1.4 1999/10/15 21:08:46 mdw Exp $
+ * $Id: base64.c,v 1.5 2002/01/13 13:26:16 mdw Exp $
*
* Base64 encoding and decoding.
*
/*----- Revision history --------------------------------------------------*
*
* $Log: base64.c,v $
+ * Revision 1.5 2002/01/13 13:26:16 mdw
+ * Change names for internal tables.
+ *
* Revision 1.4 1999/10/15 21:08:46 mdw
* Change support for erroneous Base64 streams with length 1 mod 4.
*
/*----- Important tables --------------------------------------------------*/
-static const char base64_encodeMap[] = { "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz"
- "0123456789+/" };
+static const char encodemap[] = { "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "abcdefghijklmnopqrstuvwxyz"
+ "0123456789+/" };
-static const signed char base64_decodeMap[] = {
+static const signed char decodemap[] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0x */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 1x */
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, /* 2x */
qsz++;
sz--;
if (qsz == 3) {
- DPUTC(d, base64_encodeMap[(acc >> 18) & 0x3f]);
- DPUTC(d, base64_encodeMap[(acc >> 12) & 0x3f]);
- DPUTC(d, base64_encodeMap[(acc >> 6) & 0x3f]);
- DPUTC(d, base64_encodeMap[(acc >> 0) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 18) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 12) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 6) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 0) & 0x3f]);
ctx->lnlen += 4;
if (ctx->maxline && ctx->lnlen >= ctx->maxline) {
dstr_puts(d, ctx->indent);
break;
case 1:
acc <<= 16;
- DPUTC(d, base64_encodeMap[(acc >> 18) & 0x3f]);
- DPUTC(d, base64_encodeMap[(acc >> 12) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 18) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 12) & 0x3f]);
DPUTC(d, '=');
DPUTC(d, '=');
ctx->lnlen += 4;
break;
case 2:
acc <<= 8;
- DPUTC(d, base64_encodeMap[(acc >> 18) & 0x3f]);
- DPUTC(d, base64_encodeMap[(acc >> 12) & 0x3f]);
- DPUTC(d, base64_encodeMap[(acc >> 6) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 18) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 12) & 0x3f]);
+ DPUTC(d, encodemap[(acc >> 6) & 0x3f]);
DPUTC(d, '=');
ctx->lnlen += 4;
break;
if (ch >= 128 || ch < 0)
ch = -1;
else
- ch = base64_decodeMap[ch];
+ ch = decodemap[ch];
sz--;
if (ch == -1)
continue;