From: Timo Sirainen Date: Mon, 23 Aug 2010 18:03:05 +0000 (+0100) Subject: Added base64_is_valid_char() X-Git-Tag: 2.0.1~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=99469474fdc02e552479977f6b32960a55047f10;p=thirdparty%2Fdovecot%2Fcore.git Added base64_is_valid_char() --- diff --git a/src/lib/base64.c b/src/lib/base64.c index 0d28abbc4d..f3774c1d12 100644 --- a/src/lib/base64.c +++ b/src/lib/base64.c @@ -159,3 +159,8 @@ buffer_t *t_base64_decode_str(const char *str) (void)base64_decode(str, len, NULL, buf); return buf; } + +bool base64_is_valid_char(char c) +{ + return b64dec[(uint8_t)c] != 0xff; +} diff --git a/src/lib/base64.h b/src/lib/base64.h index 5f71c746b3..bc99e2274c 100644 --- a/src/lib/base64.h +++ b/src/lib/base64.h @@ -20,6 +20,9 @@ int base64_decode(const void *src, size_t src_size, /* Decode given string to a buffer allocated from data stack. */ buffer_t *t_base64_decode_str(const char *str); +/* Returns TRUE if c is a valid base64 encoding character (excluding '=') */ +bool base64_is_valid_char(char c); + /* max. buffer size required for base64_encode() */ #define MAX_BASE64_ENCODED_SIZE(size) \ ((size) / 3 * 4 + 2+2)