From 6c643d66dd7e8372f8a6dd873ed04c171fafb967 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Fri, 28 Aug 2015 07:36:04 -0400 Subject: [PATCH] CmdCustom: 'rc.report..sort:none' now retains UUID order only --- src/commands/CmdCustom.cpp | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/src/commands/CmdCustom.cpp b/src/commands/CmdCustom.cpp index 12aa23547..79aa47b50 100644 --- a/src/commands/CmdCustom.cpp +++ b/src/commands/CmdCustom.cpp @@ -101,31 +101,14 @@ int CmdCustom::execute (std::string& output) if (sortOrder.size () && sortOrder[0] == "none") { - // If context.cli2._id_ranges is [4,3,5], yield [1,0,2], which is the sort - // order of the filtereed list, which will contain [3,4,5]. - + // Assemble a sequence vector that represents the tasks listed in + // context.cli2._uuid_ranges, in the order in which they appear. This + // equates to no sorting, just a specified order. sortOrder.clear (); - for (auto& i : context.cli2._id_ranges) - { - int first = strtol (i.first.c_str (), NULL, 10); - int second = strtol (i.second.c_str (), NULL, 10); - - if (first == second) - { - //sequence.push_back (first - 1); - for (unsigned int t = 0; t < filtered.size (); ++t) - if (filtered[t].id == first) - sequence.push_back (t); - } - else - { - for (int id = first; id <= second; id++) - //sequence.push_back (id - 1); - for (unsigned int t = 0; t < filtered.size (); ++t) - if (filtered[t].id == id) - sequence.push_back (t); - } - } + for (auto& i : context.cli2._uuid_list) + for (unsigned int t = 0; t < filtered.size (); ++t) + if (filtered[t].get ("uuid") == i) + sequence.push_back (t); } else {