From c3320e9d07ff821cde4557747d3740edd62a29a2 Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Sun, 16 Dec 2007 23:09:36 +0000 Subject: fixed reverse sorting --- src/engine/client/ec_srvbrowse.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/engine/client/ec_srvbrowse.c') diff --git a/src/engine/client/ec_srvbrowse.c b/src/engine/client/ec_srvbrowse.c index 9fc5ec02..979b6450 100644 --- a/src/engine/client/ec_srvbrowse.c +++ b/src/engine/client/ec_srvbrowse.c @@ -158,6 +158,7 @@ static int client_serverbrowse_sorthash() i |= config.b_filter_empty<<4; i |= config.b_filter_full<<5; i |= config.b_filter_pw<<6; + i |= config.b_sort_order<<7; return i; } @@ -182,6 +183,17 @@ static void client_serverbrowse_sort() else if(config.b_sort == BROWSESORT_PROGRESSION) qsort(sorted_serverlist, num_sorted_servers, sizeof(int), client_serverbrowse_sort_compare_progression); + /* invert the list if requested */ + if(config.b_sort_order) + { + for(i = 0; i < num_sorted_servers/2; i++) + { + int temp = sorted_serverlist[i]; + sorted_serverlist[i] = sorted_serverlist[num_sorted_servers-i-1]; + sorted_serverlist[num_sorted_servers-i-1] = temp; + } + } + /* set indexes */ for(i = 0; i < num_sorted_servers; i++) serverlist[sorted_serverlist[i]]->info.sorted_index = i; -- cgit 1.4.1