X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fsolver_private.h;h=a2342238c340fa430c002aba10fa7a02cf21d124;hb=c948f862b552adbe2cdee24096357b887dfbb088;hp=f30b03a91c500015aabe84dcaa7d62a72fe17915;hpb=40d5592805eaa650df84c50b9fed3cbdc4823fc5;p=platform%2Fupstream%2Flibsolv.git diff --git a/src/solver_private.h b/src/solver_private.h index f30b03a..a234223 100644 --- a/src/solver_private.h +++ b/src/solver_private.h @@ -16,8 +16,8 @@ extern void solver_run_sat(Solver *solv, int disablerules, int doweak); extern void solver_reset(Solver *solv); -extern int solver_dep_installed(Solver *solv, Id dep); extern int solver_splitprovides(Solver *solv, Id dep, Map *m); +extern int solver_dep_fulfilled_cplx(Solver *solv, Reldep *rd); static inline int solver_dep_fulfilled(Solver *solv, Id dep) @@ -28,22 +28,10 @@ solver_dep_fulfilled(Solver *solv, Id dep) if (ISRELDEP(dep)) { Reldep *rd = GETRELDEP(pool, dep); - if (rd->flags == REL_AND || rd->flags == REL_COND) - { - if (!solver_dep_fulfilled(solv, rd->name)) - return 0; - return solver_dep_fulfilled(solv, rd->evr); - } - if (rd->flags == REL_OR) - { - if (solver_dep_fulfilled(solv, rd->name)) - return 1; - return solver_dep_fulfilled(solv, rd->evr); - } + if (rd->flags == REL_COND || rd->flags == REL_UNLESS || rd->flags == REL_AND || rd->flags == REL_OR) + return solver_dep_fulfilled_cplx(solv, rd); if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_SPLITPROVIDES) return solver_splitprovides(solv, rd->evr, 0); - if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_INSTALLED) - return solver_dep_installed(solv, rd->evr); } FOR_PROVIDES(p, pp, dep) {