]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/aptconfiguration.cc
merged bundle from david
[apt.git] / apt-pkg / aptconfiguration.cc
index d31ccb642e6ee202d731a33e14b2516d2ea955aa..37c8465822d394146f7acdec717803d5a5514617 100644 (file)
@@ -319,6 +319,17 @@ std::vector<std::string> const Configuration::getLanguages(bool const &All,
                return codes;
 }
                                                                        /*}}}*/
+// checkLanguage - are we interested in the given Language?            /*{{{*/
+bool const Configuration::checkLanguage(std::string Lang, bool const All) {
+       // the empty Language is always interesting as it is the original
+       if (Lang.empty() == true)
+               return true;
+       // filenames are encoded, so undo this
+       Lang = SubstVar(Lang, "%5f", "_");
+       std::vector<std::string> const langs = getLanguages(All, true);
+       return (std::find(langs.begin(), langs.end(), Lang) != langs.end());
+}
+                                                                       /*}}}*/
 // getArchitectures - Return Vector of prefered Architectures          /*{{{*/
 std::vector<std::string> const Configuration::getArchitectures(bool const &Cached) {
        using std::string;
@@ -390,8 +401,8 @@ std::vector<std::string> const Configuration::getArchitectures(bool const &Cache
                close(external[1]);
 
                FILE *dpkg = fdopen(external[0], "r");
-               char buf[1024];
                if(dpkg != NULL) {
+                       char buf[1024];
                        while (fgets(buf, sizeof(buf), dpkg) != NULL) {
                                char* arch = strtok(buf, " ");
                                while (arch != NULL) {