From 392df7ceb8ec5073f123197295165958268d3faf Mon Sep 17 00:00:00 2001 From: Jordan Lee Date: Mon, 31 Jan 2011 22:47:07 +0000 Subject: [PATCH] (trunk libT) #3969 "tr_base64_encode() has unnecessary overhead with linefeeds" -- fixed. Don't add linefeeds to base64-encoded data. We don't need it and it just increases the length of the string, which is typically sent over the network to an RPC client. --- libtransmission/utils-test.c | 4 ++-- libtransmission/utils.c | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libtransmission/utils-test.c b/libtransmission/utils-test.c index 34bc1cfc9..2e2650618 100644 --- a/libtransmission/utils-test.c +++ b/libtransmission/utils-test.c @@ -417,8 +417,8 @@ main( void ) /* base64 */ out = tr_base64_encode( "YOYO!", -1, &len ); check( out ); - check( !strcmp( out, "WU9ZTyE=\n" ) ); - check( len == 9 ); + check( !strcmp( out, "WU9ZTyE=" ) ); + check( len == 8 ); in = tr_base64_decode( out, -1, &len ); check( in ); check( !strcmp( in, "YOYO!" ) ); diff --git a/libtransmission/utils.c b/libtransmission/utils.c index 507bfa83a..f8fe9439f 100644 --- a/libtransmission/utils.c +++ b/libtransmission/utils.c @@ -1154,6 +1154,7 @@ tr_base64_encode( const void * input, int length, int * setme_len ) bmem = BIO_new( BIO_s_mem( ) ); b64 = BIO_new( BIO_f_base64( ) ); + BIO_set_flags( b64, BIO_FLAGS_BASE64_NO_NL ); b64 = BIO_push( b64, bmem ); BIO_write( b64, input, length ); (void) BIO_flush( b64 );