mirror of
https://github.com/transmission/transmission
synced 2025-02-01 03:43:43 +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:
parent
4f5a6de98d
commit
77d3e0613d
1 changed files with 7 additions and 3 deletions
|
@ -241,10 +241,14 @@ compress_evbuf( struct evbuffer * evbuf )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* if the deflated form is larger, then just use the original */
|
||||||
|
if( !err && ( EVBUFFER_LENGTH( out ) >= EVBUFFER_LENGTH( evbuf ) ) )
|
||||||
|
err = -1;
|
||||||
|
|
||||||
if( !err ) {
|
if( !err ) {
|
||||||
fprintf( stderr, "deflated response from %zu bytes to %zu\n",
|
tr_ninf( MY_NAME, "deflated response from %zu bytes to %zu\n",
|
||||||
EVBUFFER_LENGTH( evbuf ),
|
EVBUFFER_LENGTH( evbuf ),
|
||||||
EVBUFFER_LENGTH( out ) );
|
EVBUFFER_LENGTH( out ) );
|
||||||
evbuffer_drain( evbuf, EVBUFFER_LENGTH( evbuf ) );
|
evbuffer_drain( evbuf, EVBUFFER_LENGTH( evbuf ) );
|
||||||
evbuffer_add_buffer( evbuf, out );
|
evbuffer_add_buffer( evbuf, out );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue