1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-03-12 07:03:44 +00:00

(trunk gtk) simplify the implementation of get_details_dialog_key()

This commit is contained in:
Jordan Lee 2011-08-13 05:03:18 +00:00
parent 35e6858c4b
commit 0e8b5612ed

View file

@ -92,12 +92,6 @@ struct cbdata
gpointer quit_dialog; gpointer quit_dialog;
}; };
/***
****
**** DETAILS DIALOGS MANAGEMENT
****
***/
static void static void
gtr_window_present( GtkWindow * window ) gtr_window_present( GtkWindow * window )
{ {
@ -111,32 +105,22 @@ gtr_window_present( GtkWindow * window )
***/ ***/
static int static int
compare_integers( const void * a, const void * b ) compare_integers( gconstpointer a, gconstpointer b )
{ {
return *(int*)a - *(int*)b; return (int)a - (int)b;
} }
static char* static char*
get_details_dialog_key( GSList * id_list ) get_details_dialog_key( GSList * id_list )
{ {
int i;
int n;
int * ids;
GSList * l; GSList * l;
GSList * tmp = g_slist_sort( g_slist_copy( id_list ), compare_integers );
GString * gstr = g_string_new( NULL ); GString * gstr = g_string_new( NULL );
n = g_slist_length( id_list ); for( l=tmp; l!=NULL; l=l->next )
ids = g_new( int, n ); g_string_append_printf( gstr, "%d ", (int)l->data );
i = 0;
for( l=id_list; l!=NULL; l=l->next )
ids[i++] = GPOINTER_TO_INT( l->data );
g_assert( i == n );
qsort( ids, n, sizeof(int), compare_integers );
for( i=0; i<n; ++i ) g_slist_free( tmp );
g_string_append_printf( gstr, "%d ", ids[i] );
g_free( ids );
return g_string_free( gstr, FALSE ); return g_string_free( gstr, FALSE );
} }