From a459ba3a748f47f1c90afb71dcac56d084a53d82 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Wed, 25 Jul 2007 01:00:17 +0000 Subject: [PATCH] make values in newly created .torrent files alphabetically sorted --- libtransmission/makemeta.c | 58 +++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/libtransmission/makemeta.c b/libtransmission/makemeta.c index 54a569b8d..e27bf2f5a 100644 --- a/libtransmission/makemeta.c +++ b/libtransmission/makemeta.c @@ -316,18 +316,7 @@ makeInfoDict ( benc_val_t * dict, char base[MAX_PATH_LENGTH]; tr_bencDictReserve( dict, 5 ); - - val = tr_bencDictAdd( dict, "name" ); - strlcpy( base, builder->top, sizeof( base ) ); - tr_bencInitStrDup ( val, basename( base ) ); - - val = tr_bencDictAdd( dict, "piece length" ); - tr_bencInitInt( val, builder->pieceSize ); - - pch = getHashInfo( builder ); - val = tr_bencDictAdd( dict, "pieces" ); - tr_bencInitStr( val, pch, SHA_DIGEST_LENGTH * builder->pieceCount, 0 ); - + if ( builder->isSingleFile ) { val = tr_bencDictAdd( dict, "length" ); @@ -340,6 +329,17 @@ makeInfoDict ( benc_val_t * dict, makeFilesList( val, builder ); } + val = tr_bencDictAdd( dict, "name" ); + strlcpy( base, builder->top, sizeof( base ) ); + tr_bencInitStrDup ( val, basename( base ) ); + + val = tr_bencDictAdd( dict, "piece length" ); + tr_bencInitInt( val, builder->pieceSize ); + + pch = getHashInfo( builder ); + val = tr_bencDictAdd( dict, "pieces" ); + tr_bencInitStr( val, pch, SHA_DIGEST_LENGTH * builder->pieceCount, 0 ); + val = tr_bencDictAdd( dict, "private" ); tr_bencInitInt( val, builder->isPrivate ? 1 : 0 ); } @@ -353,27 +353,27 @@ static void tr_realMakeMetaInfo ( tr_metainfo_builder_t * builder ) if ( builder->comment && *builder->comment ) ++n; tr_bencDictReserve( &top, n ); - val = tr_bencDictAdd( &top, "announce" ); - tr_bencInitStrDup( val, builder->announce ); + val = tr_bencDictAdd( &top, "announce" ); + tr_bencInitStrDup( val, builder->announce ); + + if( builder->comment && *builder->comment ) { + val = tr_bencDictAdd( &top, "comment" ); + tr_bencInitStrDup( val, builder->comment ); + } - val = tr_bencDictAdd( &top, "created by" ); - tr_bencInitStrDup( val, TR_NAME "/" LONG_VERSION_STRING ); + val = tr_bencDictAdd( &top, "created by" ); + tr_bencInitStrDup( val, TR_NAME "/" LONG_VERSION_STRING ); - val = tr_bencDictAdd( &top, "creation date" ); - tr_bencInitInt( val, time(0) ); + val = tr_bencDictAdd( &top, "creation date" ); + tr_bencInitInt( val, time(0) ); - val = tr_bencDictAdd( &top, "encoding" ); - tr_bencInitStrDup( val, "UTF-8" ); + val = tr_bencDictAdd( &top, "encoding" ); + tr_bencInitStrDup( val, "UTF-8" ); - if( builder->comment && *builder->comment ) { - val = tr_bencDictAdd( &top, "comment" ); - tr_bencInitStrDup( val, builder->comment ); - } - - val = tr_bencDictAdd( &top, "info" ); - tr_bencInit( val, TYPE_DICT ); - tr_bencDictReserve( val, 666 ); - makeInfoDict( val, builder ); + val = tr_bencDictAdd( &top, "info" ); + tr_bencInit( val, TYPE_DICT ); + tr_bencDictReserve( val, 666 ); + makeInfoDict( val, builder ); /* save the file */ if ( !builder->abortFlag ) {