From 45e3141444323e3bfb959c03686ba81303682833 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 13 Sep 2009 17:38:07 +0000 Subject: [PATCH] (svn r17526) -Codechange: use QSortT instead of qsort for sorting the language list in the network GUI --- src/network/network_gui.cpp | 3 ++- src/strings.cpp | 8 +++----- src/strings_func.h | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index f8ebc382af..eae555130b 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -31,6 +31,7 @@ #include "../sortlist_type.h" #include "../company_base.h" #include "../company_func.h" +#include "../core/sort_func.hpp" #include "table/strings.h" #include "../table/sprites.h" @@ -63,7 +64,7 @@ void SortNetworkLanguages() } /* Sort the strings (we don't move 'any' and the 'invalid' one) */ - qsort(&_language_dropdown[1], NETLANG_COUNT - 1, sizeof(StringID), &StringIDSorter); + QSortT(_language_dropdown, NETLANG_COUNT - 1, &StringIDSorter); } enum { diff --git a/src/strings.cpp b/src/strings.cpp index 6c1a655e21..29fbfb41b7 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -1350,14 +1350,12 @@ const char *GetCurrentLocale(const char *param) const char *GetCurrentLocale(const char *param); #endif /* !(defined(WIN32) || defined(__APPLE__)) */ -int CDECL StringIDSorter(const void *a, const void *b) +int CDECL StringIDSorter(const StringID *a, const StringID *b) { - const StringID va = *(const StringID*)a; - const StringID vb = *(const StringID*)b; char stra[512]; char strb[512]; - GetString(stra, va, lastof(stra)); - GetString(strb, vb, lastof(strb)); + GetString(stra, *a, lastof(stra)); + GetString(strb, *b, lastof(strb)); return strcmp(stra, strb); } diff --git a/src/strings_func.h b/src/strings_func.h index b42f9fff5d..bbf1739b17 100644 --- a/src/strings_func.h +++ b/src/strings_func.h @@ -100,7 +100,7 @@ extern DynamicLanguages _dynlang; // defined in strings.cpp bool ReadLanguagePack(int index); void InitializeLanguagePacks(); -int CDECL StringIDSorter(const void *a, const void *b); +int CDECL StringIDSorter(const StringID *a, const StringID *b); /** Key comparison function for std::map */ struct StringIDCompare