best package is. */
pkgCache::VerIterator pkgPolicy::GetCandidateVer(pkgCache::PkgIterator const &Pkg)
{
- // TODO: Replace GetCandidateVer()
pkgCache::VerIterator cand;
pkgCache::VerIterator cur = Pkg.CurrentVer();
int candPriority = -1;
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 (Dir != "/dev/null")
+ if (APT::String::Endswith(Dir, "/dev/null") == false)
_error->WarningE("DirectoryExists",_("Unable to read %s"),Dir.c_str());
return true;
}
+ _error->PushToStack();
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)