diff --git a/libtransmission/bencode.c b/libtransmission/bencode.c index e3dc7c11b..6bda3c1a5 100644 --- a/libtransmission/bencode.c +++ b/libtransmission/bencode.c @@ -1339,9 +1339,7 @@ jsonStringFunc( const tr_benc * val, void * vdata ) UTF32 buf = 0; UTF32 * u32 = &buf; ConversionResult result = ConvertUTF8toUTF32( &tmp, end, &u32, &buf + 1, 0 ); - if( ( result != conversionOK ) && ( tmp == it ) ) - ++it; /* it's beyond help; skip it */ - else { + if((( result==conversionOK ) || (result==targetExhausted)) && (tmp!=it)) { evbuffer_add_printf( data->out, "\\u%04x", (unsigned int)buf ); it = tmp - 1; }