From: Julian Andres Klode Date: Mon, 10 Aug 2015 10:18:28 +0000 (+0200) Subject: policy: Return highest file pin if version pin == 0 in GetPriority() X-Git-Tag: 1.1.exp9~133 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/5f9386e54360c403772e2a876d48d31dde9d5097 policy: Return highest file pin if version pin == 0 in GetPriority() This makes sure that we display a useful value instead of 0 for versions that are pinned due to package files. --- diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index 370819e0b..2d1f2a5d4 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -336,7 +336,16 @@ APT_PURE signed short pkgPolicy::GetPriority(pkgCache::VerIterator const &Ver) { if (VerPins[Ver->ID].Type != pkgVersionMatch::None) return VerPins[Ver->ID].Priority; - return 0; + + + int priority = INT_MIN; + for (pkgCache::VerFileIterator file = Ver.FileList(); file.end() == false; file++) + { + if (GetPriority(file.File()) > priority) + priority = GetPriority(file.File()); + } + + return priority == INT_MIN ? 0 : priority; } APT_PURE signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &File) {