|
|
@@ -258,12 +258,19 @@ std::vector<std::string> debListParser::AvailableDescriptionLanguages()
|
|
|
{
|
|
|
std::vector<std::string> const understood = APT::Configuration::getLanguages();
|
|
|
std::vector<std::string> avail;
|
|
|
+ static constexpr int prefixLen = 12;
|
|
|
+ static constexpr int avgLanguageLen = 5;
|
|
|
+ std::string tagname;
|
|
|
+
|
|
|
+ tagname.reserve(prefixLen + avgLanguageLen);
|
|
|
+ tagname.assign("Description-");
|
|
|
if (Section.Exists("Description") == true)
|
|
|
avail.push_back("");
|
|
|
for (std::vector<std::string>::const_iterator lang = understood.begin(); lang != understood.end(); ++lang)
|
|
|
{
|
|
|
- std::string const tagname = "Description-" + *lang;
|
|
|
- if (Section.Exists(tagname.c_str()) == true)
|
|
|
+ tagname.resize(prefixLen);
|
|
|
+ tagname.append(*lang);
|
|
|
+ if (Section.Exists(tagname) == true)
|
|
|
avail.push_back(*lang);
|
|
|
}
|
|
|
return avail;
|