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