X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=blobdiff_plain;f=src%2Fprocmime.c;h=6d03f225bd39f824317f15f5774b73c7e41e793b;hp=abc52c29c5841edc5ed97e42e1e6bbbd63cd8782;hb=9d0b92e2bfad7b1a1b8f745d859993feb79e04f2;hpb=45438ac22d03d4dea378f15ef15355c19cc39fd2 diff --git a/src/procmime.c b/src/procmime.c index abc52c29c..6d03f225b 100644 --- a/src/procmime.c +++ b/src/procmime.c @@ -528,17 +528,20 @@ FILE *procmime_decode_content(FILE *outfp, FILE *infp, MimeInfo *mimeinfo) } else if (mimeinfo->encoding_type == ENC_BASE64) { gchar outbuf[BUFFSIZE]; gint len; + Base64Decoder *decoder; + decoder = base64_decoder_new(); while (fgets(buf, sizeof(buf), infp) != NULL && (!boundary || !IS_BOUNDARY(buf, boundary, boundary_len))) { - len = from64tobits(outbuf, buf); + len = base64_decoder_decode(decoder, buf, outbuf); if (len < 0) { g_warning("Bad BASE64 content\n"); break; } fwrite(outbuf, sizeof(gchar), len, outfp); } + base64_decoder_free(decoder); } else if (mimeinfo->encoding_type == ENC_X_UUENCODE) { gchar outbuf[BUFFSIZE]; gint len;