pkgman: Use natural sorting in "search" output.

Fixes #18676.
This commit is contained in:
Augustin Cavalier
2023-12-23 23:05:08 -05:00
parent 0387c6accb
commit 45b72f4c60
+7 -1
View File
@@ -17,6 +17,8 @@
#include <algorithm>
#include <set>
#include <Locale.h>
#include <package/solver/SolverPackage.h>
#include <TextTable.h>
@@ -91,11 +93,13 @@ struct PackageComparator {
fSystemRepository(systemRepository),
fHomeRepository(homeRepository)
{
BLocale::Default()->GetCollator(&fCollator);
fCollator.SetNumericSorting(true);
}
int operator()(const BSolverPackage* a, const BSolverPackage* b) const
{
int cmp = a->Name().Compare(b->Name());
int cmp = fCollator.Compare(a->Name().String(), b->Name().String());
if (cmp != 0)
return cmp;
@@ -119,6 +123,8 @@ struct PackageComparator {
private:
const BSolverRepository* fSystemRepository;
const BSolverRepository* fHomeRepository;
BCollator fCollator;
};