diff options
author | Jeff Brown <jeffbrown@google.com> | 2012-03-19 14:08:58 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2012-03-19 14:08:58 -0700 |
commit | fe75d62eba3935d2d1a4a7790fc7459ded241ad3 (patch) | |
tree | 71054bce03f3a52e59fb5dc4af890f93da50a259 /tools/aapt/StringPool.cpp | |
parent | 80a6b33be276eb6c808fce13debb4bb7a489cdad (diff) |
Use qsort_r_compat() as a portable wrapper for qsort_r().
Change-Id: Ie79f81625947f4e95122047605d994c86e872e74
Diffstat (limited to 'tools/aapt/StringPool.cpp')
-rw-r--r-- | tools/aapt/StringPool.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/tools/aapt/StringPool.cpp b/tools/aapt/StringPool.cpp index a9941b46ae11..839eda5151b0 100644 --- a/tools/aapt/StringPool.cpp +++ b/tools/aapt/StringPool.cpp @@ -9,6 +9,7 @@ #include <utils/ByteOrder.h> #include <utils/SortedVector.h> +#include <cutils/qsort_r_compat.h> #if HAVE_PRINTF_ZD # define ZD "%zd" @@ -213,11 +214,7 @@ status_t StringPool::addStyleSpan(size_t idx, const entry_style_span& span) return NO_ERROR; } -#ifdef __GLIBC__ -int StringPool::config_sort(const void* lhs, const void* rhs, void* state) -#else int StringPool::config_sort(void* state, const void* lhs, const void* rhs) -#endif { StringPool* pool = (StringPool*)state; const entry& lhe = pool->mEntries[pool->mEntryArray[*static_cast<const size_t*>(lhs)]]; @@ -245,13 +242,7 @@ void StringPool::sortByConfig() NOISY(printf("SORTING STRINGS BY CONFIGURATION...\n")); // Vector::sort uses insertion sort, which is very slow for this data set. // Use quicksort instead because we don't need a stable sort here. - // For more fun, GLibC took qsort_r from BSD but then decided to swap the - // order the last two parameters. -#ifdef __GLIBC__ - qsort_r(newPosToOriginalPos.editArray(), N, sizeof(size_t), config_sort, this); -#else - qsort_r(newPosToOriginalPos.editArray(), N, sizeof(size_t), this, config_sort); -#endif + qsort_r_compat(newPosToOriginalPos.editArray(), N, sizeof(size_t), this, config_sort); //newPosToOriginalPos.sort(config_sort, this); NOISY(printf("DONE SORTING STRINGS BY CONFIGURATION.\n")); |