From d34149f8102a2cee0aac11a65f57cc3bbc169aba Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Wed, 3 Nov 2010 16:59:24 +0000 Subject: [PATCH] (trunk libT) #3712 "transmission-show's file list should be sorted alphabetically" -- done. --- utils/show.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/utils/show.c b/utils/show.c index f930ed12a..1906ce288 100644 --- a/utils/show.c +++ b/utils/show.c @@ -85,11 +85,20 @@ parseCommandLine( int argc, const char ** argv ) return 0; } +static int +compare_files_by_name( const void * va, const void * vb ) +{ + const tr_file * a = *(const tr_file**)va; + const tr_file * b = *(const tr_file**)vb; + return strcmp( a->name, b->name ); +} + static void showInfo( const tr_info * inf ) { int i; char buf[128]; + tr_file ** files; int prevTier = -1; /** @@ -134,8 +143,13 @@ showInfo( const tr_info * inf ) **/ printf( "\nFILES\n\n" ); + files = tr_new( tr_file*, inf->fileCount ); + for( i=0; i<(int)inf->fileCount; ++i ) + files[i] = &inf->files[i]; + qsort( files, inf->fileCount, sizeof(tr_file*), compare_files_by_name ); for( i=0; i<(int)inf->fileCount; ++i ) - printf( " %s (%s)\n", inf->files[i].name, tr_formatter_size_B( buf, inf->files[i].length, sizeof( buf ) ) ); + printf( " %s (%s)\n", files[i]->name, tr_formatter_size_B( buf, files[i]->length, sizeof( buf ) ) ); + tr_free( files ); } static size_t -- 2.40.0