From 45b72f4c60122910c99766e2c38f8fc330d6625f Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 23 Dec 2023 23:05:08 -0500 Subject: [PATCH] pkgman: Use natural sorting in "search" output. Fixes #18676. --- src/bin/pkgman/command_search.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bin/pkgman/command_search.cpp b/src/bin/pkgman/command_search.cpp index c0bb6b9108..3f1d033ac8 100644 --- a/src/bin/pkgman/command_search.cpp +++ b/src/bin/pkgman/command_search.cpp @@ -17,6 +17,8 @@ #include #include +#include + #include #include @@ -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; };