Pascal Brisset writes:

uuencode fails to encode binary data because it right-shifts
bytes as signed chars and keeps the duplicated sign bits.

The original base64_encode() from wget/http.c is broken as well,
but it is only used to encode ascii data.

-- Pascal
This commit is contained in:
Eric Andersen
2004-01-26 07:17:30 +00:00
parent 7018385fe7
commit f2ec37902a
2 changed files with 3 additions and 3 deletions

View File

@@ -59,7 +59,7 @@ static const char tbl_std[65] = {
* buffer of at least 1+BASE64_LENGTH(length) bytes.
* where BASE64_LENGTH(len) = (4 * ((LENGTH + 2) / 3))
*/
static void uuencode (const char *s, const char *store, const int length, const char *tbl)
static void uuencode (const unsigned char *s, const char *store, const int length, const char *tbl)
{
int i;
unsigned char *p = (unsigned char *)store;