From 1842de4b0035854f271a40dcaa514cdba66bcf57 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Tue, 12 Oct 2010 21:54:43 +0000 Subject: COMMON: Let --list-targets output all targets in an alphabetical list again. svn-id: r53183 --- base/commandLine.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/base/commandLine.cpp b/base/commandLine.cpp index 6fbdb55506..5a45ed74a1 100644 --- a/base/commandLine.cpp +++ b/base/commandLine.cpp @@ -578,6 +578,10 @@ static void listTargets() { using namespace Common; const ConfigManager::DomainMap &domains = ConfMan.getGameDomains(); ConfigManager::DomainMap::const_iterator iter; + + Common::Array targets; + targets.reserve(domains.size()); + for (iter = domains.begin(); iter != domains.end(); ++iter) { Common::String name(iter->_key); Common::String description(iter->_value.getVal("description")); @@ -592,9 +596,13 @@ static void listTargets() { description = g.description(); } - printf("%-20s %s\n", name.c_str(), description.c_str()); - + targets.push_back(Common::String::printf("%-20s %s", name.c_str(), description.c_str())); } + + Common::sort(targets.begin(), targets.end()); + + for (Common::Array::const_iterator i = targets.begin(), end = targets.end(); i != end; ++i) + printf("%s\n", i->c_str()); } /** List all saves states for the given target. */ -- cgit v1.2.3