1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-01-31 19:34:05 +00:00

(rpc) #1319 as pointed out by spry, deflate()'s output can sometimes be larger than the native form. In these cases, use the smaller of the two sources.

This commit is contained in:
Charles Kerr 2008-10-03 20:46:58 +00:00
parent 4f5a6de98d
commit 77d3e0613d

View file

@ -241,10 +241,14 @@ compress_evbuf( struct evbuffer * evbuf )
break;
}
/* if the deflated form is larger, then just use the original */
if( !err && ( EVBUFFER_LENGTH( out ) >= EVBUFFER_LENGTH( evbuf ) ) )
err = -1;
if( !err ) {
fprintf( stderr, "deflated response from %zu bytes to %zu\n",
EVBUFFER_LENGTH( evbuf ),
EVBUFFER_LENGTH( out ) );
tr_ninf( MY_NAME, "deflated response from %zu bytes to %zu\n",
EVBUFFER_LENGTH( evbuf ),
EVBUFFER_LENGTH( out ) );
evbuffer_drain( evbuf, EVBUFFER_LENGTH( evbuf ) );
evbuffer_add_buffer( evbuf, out );
}