Changeset 7552 for trunk/libtransmission/bencode.c
- Timestamp:
- Dec 30, 2008, 10:07:39 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/bencode.c
r7549 r7552 1312 1312 1313 1313 char* 1314 tr_bencSaveAsJSON( const tr_benc * top, 1315 int * len ) 1316 { 1317 char * ret; 1314 tr_bencSaveAsJSON( const tr_benc * top, struct evbuffer * out ) 1315 { 1318 1316 struct WalkFuncs walkFuncs; 1319 1317 struct jsonWalk data; 1320 1318 1321 data.out = tr_getBuffer( ); 1319 evbuffer_drain( out, EVBUFFER_LENGTH( out ) ); 1320 1321 data.out = out; 1322 1322 data.parents = NULL; 1323 1323 … … 1330 1330 bencWalk( top, &walkFuncs, &data ); 1331 1331 1332 if( EVBUFFER_LENGTH( data.out ) ) 1333 evbuffer_add_printf( data.out, "\n" ); 1334 if( len ) 1335 *len = EVBUFFER_LENGTH( data.out ); 1336 ret = tr_strndup( EVBUFFER_DATA( data.out ), EVBUFFER_LENGTH( data.out ) ); 1337 1338 tr_releaseBuffer( data.out ); 1339 return ret; 1332 if( EVBUFFER_LENGTH( out ) ) 1333 evbuffer_add_printf( out, "\n" ); 1334 1335 return (char*) EVBUFFER_DATA( out ); 1340 1336 } 1341 1337 … … 1466 1462 const tr_benc * b ) 1467 1463 { 1468 int len; 1469 char * content = tr_bencSaveAsJSON( b, &len ); 1470 const int err = saveFile( filename, content, len ); 1471 1472 tr_free( content ); 1464 struct evbuffer * buf = tr_getBuffer( ); 1465 const char * json = tr_bencSaveAsJSON( b, buf ); 1466 const int err = saveFile( filename, json, EVBUFFER_LENGTH( buf ) ); 1467 tr_releaseBuffer( buf ); 1473 1468 return err; 1474 1469 }
Note: See TracChangeset
for help on using the changeset viewer.