(svn r17526) -Codechange: use QSortT instead of qsort for sorting the language list in the network GUI

This commit is contained in:
rubidium 2009-09-13 17:38:07 +00:00
parent 734edc178d
commit 45e3141444
3 changed files with 6 additions and 7 deletions

View File

@ -31,6 +31,7 @@
#include "../sortlist_type.h" #include "../sortlist_type.h"
#include "../company_base.h" #include "../company_base.h"
#include "../company_func.h" #include "../company_func.h"
#include "../core/sort_func.hpp"
#include "table/strings.h" #include "table/strings.h"
#include "../table/sprites.h" #include "../table/sprites.h"
@ -63,7 +64,7 @@ void SortNetworkLanguages()
} }
/* Sort the strings (we don't move 'any' and the 'invalid' one) */ /* 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 { enum {

View File

@ -1350,14 +1350,12 @@ const char *GetCurrentLocale(const char *param)
const char *GetCurrentLocale(const char *param); const char *GetCurrentLocale(const char *param);
#endif /* !(defined(WIN32) || defined(__APPLE__)) */ #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 stra[512];
char strb[512]; char strb[512];
GetString(stra, va, lastof(stra)); GetString(stra, *a, lastof(stra));
GetString(strb, vb, lastof(strb)); GetString(strb, *b, lastof(strb));
return strcmp(stra, strb); return strcmp(stra, strb);
} }

View File

@ -100,7 +100,7 @@ extern DynamicLanguages _dynlang; // defined in strings.cpp
bool ReadLanguagePack(int index); bool ReadLanguagePack(int index);
void InitializeLanguagePacks(); 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 */ /** Key comparison function for std::map */
struct StringIDCompare struct StringIDCompare