]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/policy.cc
test: Allow db_dump-5 instead of db_dump
[apt.git] / apt-pkg / policy.cc
index eb90daca7ade2daaee3ccee7fb04f90834a86011..ff59fb0ac6605385e786c93166534fdc46ce8993 100644 (file)
@@ -307,16 +307,21 @@ APT_PURE signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &Fi
 bool ReadPinDir(pkgPolicy &Plcy,string Dir)
 {
    if (Dir.empty() == true)
 bool ReadPinDir(pkgPolicy &Plcy,string Dir)
 {
    if (Dir.empty() == true)
-      Dir = _config->FindDir("Dir::Etc::PreferencesParts");
+      Dir = _config->FindDir("Dir::Etc::PreferencesParts", "/dev/null");
 
    if (DirectoryExists(Dir) == false)
    {
 
    if (DirectoryExists(Dir) == false)
    {
-      if (Dir != "/dev/null")
+      if (APT::String::Endswith(Dir, "/dev/null") == false)
         _error->WarningE("DirectoryExists",_("Unable to read %s"),Dir.c_str());
       return true;
    }
 
         _error->WarningE("DirectoryExists",_("Unable to read %s"),Dir.c_str());
       return true;
    }
 
+   _error->PushToStack();
    vector<string> const List = GetListOfFilesInDir(Dir, "pref", true, true);
    vector<string> const List = GetListOfFilesInDir(Dir, "pref", true, true);
+   bool const PendingErrors = _error->PendingError();
+   _error->MergeWithStack();
+   if (PendingErrors)
+      return false;
 
    // Read the files
    for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I)
 
    // Read the files
    for (vector<string>::const_iterator I = List.begin(); I != List.end(); ++I)