#include "../memdebug.h"
/* ---- Base64 Encoding/Decoding Table --- */
-static const char base64encdec[]=
+const char Curl_base64encdec[]=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
/* The Base 64 encoding with a URL and filename safe alphabet, RFC 4648
CURLcode curlx_base64_encode(const char *inputbuff, size_t insize,
char **outptr, size_t *outlen)
{
- return base64_encode(base64encdec, '=', inputbuff, insize, outptr, outlen);
+ return base64_encode(Curl_base64encdec, '=',
+ inputbuff, insize, outptr, outlen);
}
/*
char **outptr, size_t *outlen);
CURLcode curlx_base64_decode(const char *src,
unsigned char **outptr, size_t *outlen);
+
+extern const char Curl_base64encdec[];
+
#endif /* HEADER_CURL_BASE64_H */
#include "urldata.h"
#include "sendf.h"
#include "strdup.h"
+#include "curlx/base64.h"
#if !defined(CURL_DISABLE_MIME) && (!defined(CURL_DISABLE_HTTP) || \
!defined(CURL_DISABLE_SMTP) || \
{ZERO_NULL, ZERO_NULL, ZERO_NULL}
};
-/* Base64 encoding table */
-static const char base64enc[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
/* Quoted-printable character class table.
*
* We cannot rely on ctype functions since quoted-printable input data
i = st->buf[st->bufbeg++] & 0xFF;
i = (i << 8) | (st->buf[st->bufbeg++] & 0xFF);
i = (i << 8) | (st->buf[st->bufbeg++] & 0xFF);
- *ptr++ = base64enc[(i >> 18) & 0x3F];
- *ptr++ = base64enc[(i >> 12) & 0x3F];
- *ptr++ = base64enc[(i >> 6) & 0x3F];
- *ptr++ = base64enc[i & 0x3F];
+ *ptr++ = Curl_base64encdec[(i >> 18) & 0x3F];
+ *ptr++ = Curl_base64encdec[(i >> 12) & 0x3F];
+ *ptr++ = Curl_base64encdec[(i >> 6) & 0x3F];
+ *ptr++ = Curl_base64encdec[i & 0x3F];
cursize += 4;
st->pos += 4;
size -= 4;
i = (st->buf[st->bufbeg + 1] & 0xFF) << 8;
i |= (st->buf[st->bufbeg] & 0xFF) << 16;
- ptr[0] = base64enc[(i >> 18) & 0x3F];
- ptr[1] = base64enc[(i >> 12) & 0x3F];
+ ptr[0] = Curl_base64encdec[(i >> 18) & 0x3F];
+ ptr[1] = Curl_base64encdec[(i >> 12) & 0x3F];
if(++st->bufbeg != st->bufend) {
- ptr[2] = base64enc[(i >> 6) & 0x3F];
+ ptr[2] = Curl_base64encdec[(i >> 6) & 0x3F];
st->bufbeg++;
}
cursize += 4;