From: David Brochart Date: Fri, 17 Apr 2020 13:48:09 +0000 (+0200) Subject: Move feature minimization to pool_buildversioncmp() X-Git-Tag: 0.7.12~5^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=893b348ee9bd0cebdad887bf5b4e88cbb8d61354;p=thirdparty%2Flibsolv.git Move feature minimization to pool_buildversioncmp() --- diff --git a/src/policy.c b/src/policy.c index 020571c6..fe8d55e3 100644 --- a/src/policy.c +++ b/src/policy.c @@ -836,8 +836,14 @@ move_installed_to_front(Pool *pool, Queue *plist) static int pool_buildversioncmp(Pool *pool, Solvable *s1, Solvable *s2) { - const char *bv1 = solvable_lookup_str(s1, SOLVABLE_BUILDVERSION); - const char *bv2 = solvable_lookup_str(s2, SOLVABLE_BUILDVERSION); + const char *bv1, *bv2; + unsigned int cnt1, cnt2; + cnt1 = solvable_lookup_count(s1, SOLVABLE_TRACK_FEATURES); + cnt2 = solvable_lookup_count(s2, SOLVABLE_TRACK_FEATURES); + if (cnt1 != cnt2) + return cnt1 > cnt2 ? -1 : 1; + bv1 = solvable_lookup_str(s1, SOLVABLE_BUILDVERSION); + bv2 = solvable_lookup_str(s2, SOLVABLE_BUILDVERSION); if (!bv1 && !bv2) return 0; return pool_evrcmp_str(pool, bv1 ? bv1 : "" , bv2 ? bv2 : "", EVRCMP_COMPARE); @@ -846,14 +852,8 @@ pool_buildversioncmp(Pool *pool, Solvable *s1, Solvable *s2) static int pool_buildflavorcmp(Pool *pool, Solvable *s1, Solvable *s2) { - const char *f1, *f2; - unsigned int cnt1, cnt2; - cnt1 = solvable_lookup_count(s1, SOLVABLE_TRACK_FEATURES); - cnt2 = solvable_lookup_count(s2, SOLVABLE_TRACK_FEATURES); - if (cnt1 != cnt2) - return cnt1 > cnt2 ? -1 : 1; - f1 = solvable_lookup_str(s1, SOLVABLE_BUILDFLAVOR); - f2 = solvable_lookup_str(s2, SOLVABLE_BUILDFLAVOR); + const char *f1 = solvable_lookup_str(s1, SOLVABLE_BUILDFLAVOR); + const char *f2 = solvable_lookup_str(s2, SOLVABLE_BUILDFLAVOR); if (!f1 && !f2) return 0; return pool_evrcmp_str(pool, f1 ? f1 : "" , f2 ? f2 : "", EVRCMP_COMPARE);