diff options
author | Michael Vogt <egon@debian-devbox> | 2011-10-14 11:54:12 +0200 |
---|---|---|
committer | Michael Vogt <egon@debian-devbox> | 2011-10-14 11:54:12 +0200 |
commit | 1d51f78e9d128191ff8b2d48e42d90ebdbff2588 (patch) | |
tree | af05e41a53bcc9f22f146573ed0f1ff5311b97ad /apt-pkg/aptconfiguration.cc | |
parent | 324fc8af296953857ebfc76deaadd4d224e081e3 (diff) | |
parent | f3b8d8571faf62265266ac0f9da60ad73885214b (diff) |
merged from lp:~donkult/apt/sid
Diffstat (limited to 'apt-pkg/aptconfiguration.cc')
-rw-r--r-- | apt-pkg/aptconfiguration.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/apt-pkg/aptconfiguration.cc b/apt-pkg/aptconfiguration.cc index 6ec5fa03a..bc385b2dc 100644 --- a/apt-pkg/aptconfiguration.cc +++ b/apt-pkg/aptconfiguration.cc @@ -140,7 +140,7 @@ std::vector<std::string> const Configuration::getLanguages(bool const &All, for (struct dirent *Ent = readdir(D); Ent != 0; Ent = readdir(D)) { string const name = Ent->d_name; size_t const foundDash = name.rfind("-"); - size_t const foundUnderscore = name.rfind("_"); + size_t const foundUnderscore = name.rfind("_", foundDash); if (foundDash == string::npos || foundUnderscore == string::npos || foundDash <= foundUnderscore || name.substr(foundUnderscore+1, foundDash-(foundUnderscore+1)) != "Translation") @@ -151,7 +151,7 @@ std::vector<std::string> const Configuration::getLanguages(bool const &All, // Skip unusual files, like backups or that alike string::const_iterator s = c.begin(); for (;s != c.end(); ++s) { - if (isalpha(*s) == 0) + if (isalpha(*s) == 0 && *s != '_') break; } if (s != c.end()) @@ -232,6 +232,8 @@ std::vector<std::string> const Configuration::getLanguages(bool const &All, codes = environment; } else if (forceLang != "none") codes.push_back(forceLang); + else //if (forceLang == "none") + builtin.clear(); allCodes = codes; for (std::vector<string>::const_iterator b = builtin.begin(); b != builtin.end(); ++b) |