From: Michael Schroeder Date: Thu, 17 Nov 2016 13:45:43 +0000 (+0100) Subject: Add SOLVABLE_NAME hack for pool_whatmatchesdep and solvable_matchesdep X-Git-Tag: 0.6.25~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d4d2398644bc07917dbe2370a62397ad09eaeb18;p=thirdparty%2Flibsolv.git Add SOLVABLE_NAME hack for pool_whatmatchesdep and solvable_matchesdep --- diff --git a/src/pool.c b/src/pool.c index cd59b5f8..1adf70e3 100644 --- a/src/pool.c +++ b/src/pool.c @@ -1335,6 +1335,14 @@ pool_whatmatchesdep(Pool *pool, Id keyname, Id dep, Queue *q, int marker) int i; queue_empty(q); + if (keyname == SOLVABLE_NAME) + { + Id pp; + FOR_PROVIDES(p, pp, dep) + if (pool_match_dep(pool, p, dep)) + queue_push(q, p); + return; + } queue_init(&qq); FOR_POOL_SOLVABLES(p) { diff --git a/src/solvable.c b/src/solvable.c index 2570e4fd..6f6ba1de 100644 --- a/src/solvable.c +++ b/src/solvable.c @@ -601,6 +601,9 @@ solvable_matchesdep(Solvable *s, Id keyname, Id dep, int marker) int i; Pool *pool = s->repo->pool; Queue q; + + if (keyname == SOLVABLE_NAME) + return pool_match_nevr(pool, s, dep) ? 1 : 0; /* nevr match hack */ queue_init(&q); solvable_lookup_deparray(s, keyname, &q, marker); for (i = 0; i < q.count; i++)