The purpose of this commit is to restore the old unit sorting...

...as the default for 1.2. However it is actually a bug fix. When
sorting fixed and generated topics together the generator's built in
sorting shouldn't be used, but rather the return list should be sorted
by title.
This commit is contained in:
Bruno Wolff III 2006-06-21 15:02:29 +00:00
parent de97887a1b
commit 139fab582f

View file

@ -821,7 +821,7 @@ void parse_config_internal(const config *help_cfg, const config *section_cfg,
if ((*section_cfg)["sort_topics"] == "yes") {
sort_topics = true;
sort_generated = true; // Used for merge so not redundant
sort_generated = false;
} else if ((*section_cfg)["sort_topics"] == "no") {
sort_topics = false;
sort_generated = false;
@ -859,20 +859,22 @@ void parse_config_internal(const config *help_cfg, const config *section_cfg,
}
}
const std::vector<topic> generated_topics =
std::vector<topic> generated_topics =
generate_topics(sort_generated,(*section_cfg)["generator"]);
if (sort_topics) {
std::sort(topics.begin(),topics.end(), title_less());
std::merge(generated_topics.begin(),generated_topics.end()
,topics.begin(),topics.end()
,std::back_inserter(sec.topics),title_less());
std::sort(topics.begin(),topics.end(), title_less());
std::sort(generated_topics.begin(),
generated_topics.end(), title_less());
std::merge(generated_topics.begin(),
generated_topics.end(),topics.begin(),topics.end()
,std::back_inserter(sec.topics),title_less());
}
else {
std::copy(topics.begin(), topics.end(),
std::copy(topics.begin(), topics.end(),
std::back_inserter(sec.topics));
std::copy(generated_topics.begin(), generated_topics.end(),
std::copy(generated_topics.begin(),
generated_topics.end(),
std::back_inserter(sec.topics));
}
}