diff --git a/src/servers/app/drawing/html5/base64.cpp b/src/servers/app/drawing/html5/base64.cpp index 2afffe7bab..8081559bd7 100644 --- a/src/servers/app/drawing/html5/base64.cpp +++ b/src/servers/app/drawing/html5/base64.cpp @@ -25,7 +25,7 @@ static const char kHexAlphabet[16] = {'0', '1', '2', '3', '4', '5', '6', '7', ssize_t -encode_base64(char *out, const char *in, off_t length) +encode_base64(char *out, const char *in, off_t length, bool packed) { uint32 concat; int i = 0; @@ -45,8 +45,12 @@ encode_base64(char *out, const char *in, off_t length) out[k++] = kBase64Alphabet[(concat >> 12) & 63]; if ((i+1) < length) out[k++] = kBase64Alphabet[(concat >> 6) & 63]; + else if (!packed) + out[k++] = '='; if ((i+2) < length) out[k++] = kBase64Alphabet[concat & 63]; + else if (!packed) + out[k++] = '='; } return k; diff --git a/src/servers/app/drawing/html5/base64.h b/src/servers/app/drawing/html5/base64.h index fa2d3f0625..8d75312a23 100644 --- a/src/servers/app/drawing/html5/base64.h +++ b/src/servers/app/drawing/html5/base64.h @@ -8,7 +8,8 @@ #include -extern ssize_t encode_base64(char *out, const char *in, off_t length); +extern ssize_t encode_base64(char *out, const char *in, off_t length, + bool packed=false); extern ssize_t decode_base64(char *out, const char *in, off_t length);