Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5509:c46a29e0ea9d HEAD
API change: Returns now 1 if ok, 0 if end of base64 marker found.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 03 Apr 2007 20:42:30 +0300 |
parents | d1168da66050 |
children | 93e9e081855a |
files | src/lib/base64.c src/lib/base64.h |
diffstat | 2 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/base64.c Tue Apr 03 20:40:02 2007 +0300 +++ b/src/lib/base64.c Tue Apr 03 20:42:30 2007 +0300 @@ -111,6 +111,7 @@ unsigned char buf[4]; int c1, c2, c3, c4; size_t size; + int ret = 1; for (src_pos = 0; src_pos+3 < src_size; ) { c1 = src_c[src_pos++]; @@ -154,6 +155,7 @@ buffer_append(dest, buf, size); if (size < 3) { /* end of base64 data */ + ret = 0; break; } } @@ -166,5 +168,5 @@ if (src_pos_r != NULL) *src_pos_r = src_pos; - return 0; + return ret; }
--- a/src/lib/base64.h Tue Apr 03 20:40:02 2007 +0300 +++ b/src/lib/base64.h Tue Apr 03 20:42:30 2007 +0300 @@ -5,7 +5,9 @@ void base64_encode(const void *src, size_t src_size, buffer_t *dest); /* Translates base64 data into binary and appends it to dest buffer. dest may - point to same buffer as src. Returns 0 if all ok, -1 if data is invalid. + point to same buffer as src. Returns 1 if all ok, 0 if end of base64 data + found, -1 if data is invalid. + Any CR, LF characters are ignored, as well as whitespace at beginning or end of line.