# HG changeset patch # User Timo Sirainen # Date 1186422546 -10800 # Node ID 6b0fe0f93896f6fc80f3e0fe8b0d2c9a8c34b2e8 # Parent 5c6af3b74d5fc99ce3953f9674f192219b958b81 Added t_base64_decode_str(). diff -r 5c6af3b74d5f -r 6b0fe0f93896 src/lib/base64.c --- a/src/lib/base64.c Mon Aug 06 19:45:01 2007 +0300 +++ b/src/lib/base64.c Mon Aug 06 20:49:06 2007 +0300 @@ -170,3 +170,14 @@ return ret; } + +buffer_t *t_base64_decode_str(const char *str) +{ + buffer_t *buf; + size_t len = strlen(str); + + buf = buffer_create_dynamic(pool_datastack_create(), + MAX_BASE64_DECODED_SIZE(len)); + (void)base64_decode(str, len, NULL, buf); + return buf; +} diff -r 5c6af3b74d5f -r 6b0fe0f93896 src/lib/base64.h --- a/src/lib/base64.h Mon Aug 06 19:45:01 2007 +0300 +++ b/src/lib/base64.h Mon Aug 06 20:49:06 2007 +0300 @@ -17,6 +17,9 @@ int base64_decode(const void *src, size_t src_size, size_t *src_pos_r, buffer_t *dest); +/* Decode given string to a buffer allocated from data stack. */ +buffer_t *t_base64_decode_str(const char *str); + /* max. buffer size required for base64_encode() */ #define MAX_BASE64_ENCODED_SIZE(size) \ ((size) / 3 * 4 + 2+2)