diff options
| author | Johan Althoff <teetow@gmail.com> | 2007-12-18 21:26:15 +0000 |
|---|---|---|
| committer | Johan Althoff <teetow@gmail.com> | 2007-12-18 21:26:15 +0000 |
| commit | 2848006ee22d254ac48de16e3384f366a68c99a5 (patch) | |
| tree | b6933dc99e122d5b2ec8b11184758a45a62e191a /src/engine/client | |
| parent | 5abbc0bce7ce376f6a63629aaaf2ee2515d20652 (diff) | |
| download | zcatch-2848006ee22d254ac48de16e3384f366a68c99a5.tar.gz zcatch-2848006ee22d254ac48de16e3384f366a68c99a5.zip | |
fixed server browser sorting on win32. bizar implementation of qsort on win32.
Diffstat (limited to 'src/engine/client')
| -rw-r--r-- | src/engine/client/ec_srvbrowse.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/engine/client/ec_srvbrowse.c b/src/engine/client/ec_srvbrowse.c index 979b6450..d9b3f4ff 100644 --- a/src/engine/client/ec_srvbrowse.c +++ b/src/engine/client/ec_srvbrowse.c @@ -92,28 +92,36 @@ static int client_serverbrowse_sort_compare_ping(const void *ai, const void *bi) { SERVERENTRY *a = serverlist[*(const int*)ai]; SERVERENTRY *b = serverlist[*(const int*)bi]; - return a->info.latency > b->info.latency; + if(a->info.latency > b->info.latency) return 1; + if(a->info.latency < b->info.latency) return -1; + return 0; } static int client_serverbrowse_sort_compare_gametype(const void *ai, const void *bi) { SERVERENTRY *a = serverlist[*(const int*)ai]; SERVERENTRY *b = serverlist[*(const int*)bi]; - return a->info.game_type > b->info.game_type; + if(a->info.game_type > b->info.game_type) return 1; + if(a->info.game_type < b->info.game_type) return -1; + return 0; } static int client_serverbrowse_sort_compare_progression(const void *ai, const void *bi) { SERVERENTRY *a = serverlist[*(const int*)ai]; SERVERENTRY *b = serverlist[*(const int*)bi]; - return a->info.progression > b->info.progression; + if(a->info.progression > b->info.progression) return 1; + if(a->info.progression < b->info.progression) return -1; + return 0; } static int client_serverbrowse_sort_compare_numplayers(const void *ai, const void *bi) { SERVERENTRY *a = serverlist[*(const int*)ai]; SERVERENTRY *b = serverlist[*(const int*)bi]; - return a->info.num_players > b->info.num_players; + if(a->info.num_players > b->info.num_players) return 1; + if(a->info.num_players < b->info.num_players) return -1; + return 0; } static void client_serverbrowse_filter() |