+2004-12-28 Simon Josefsson <jas@extundo.com>
+
+ * base64.h (isbase64): Add.
+
+ * base64.c (isb64): Rename to isbase64, use to_uchar instead of
+ using a unsigned prototype, don't inline.
+ (base64_decode): Use it.
+
2005-01-19 Bruno Haible <bruno@clisp.org>
* sh-quote.h: New file, from GNU gettext.
B64 (252), B64 (253), B64 (254), B64 (255)
};
-static inline bool
-isb64 (unsigned char ch)
+bool
+isbase64 (char ch)
{
- return ch <= 255 && 0 <= b64[ch];
+ return to_uchar (ch) <= 255 && 0 <= b64[to_uchar (ch)];
}
/* Decode base64 encoded input array IN of length INLEN to output
while (inlen >= 2)
{
- if (!isb64 (in[0]) || !isb64 (in[1]))
+ if (!isbase64 (in[0]) || !isbase64 (in[1]))
break;
if (outleft)
}
else
{
- if (!isb64 (in[2]))
+ if (!isbase64 (in[2]))
break;
if (outleft)
}
else
{
- if (!isb64 (in[3]))
+ if (!isbase64 (in[3]))
break;
if (outleft)
integer >= n/k, i.e., the ceiling of n/k. */
#define BASE64_LENGTH(inlen) ((((inlen) + 2) / 3) * 4)
+extern bool isbase64 (char ch);
+
extern void base64_encode (const char *restrict in, size_t inlen,
char *restrict out, size_t outlen);