Mercurial > hg > openttd
changeset 13028:30e0feabeff8 draft
(svn r17526) -Codechange: use QSortT instead of qsort for sorting the language list in the network GUI
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sun, 13 Sep 2009 17:38:07 +0000 |
parents | c02d5e082def |
children | 0175b6426e2c |
files | src/network/network_gui.cpp src/strings.cpp src/strings_func.h |
diffstat | 3 files changed, 6 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ } /* 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 {
--- a/src/strings.cpp +++ b/src/strings.cpp @@ -1350,14 +1350,12 @@ 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); }
--- a/src/strings_func.h +++ b/src/strings_func.h @@ -100,7 +100,7 @@ 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