return pool->custom_vendorcheck;
}
-static int
-pool_dep_fulfilled_in_map_cplx(Pool *pool, const Map *map, Reldep *rd)
-{
- if (rd->flags == REL_COND)
- {
- if (ISRELDEP(rd->evr))
- {
- Reldep *rd2 = GETRELDEP(pool, rd->evr);
- if (rd2->flags == REL_ELSE)
- {
- if (pool_dep_fulfilled_in_map(pool, map, rd2->name))
- return pool_dep_fulfilled_in_map(pool, map, rd->name);
- return pool_dep_fulfilled_in_map(pool, map, rd2->evr);
- }
- }
- if (pool_dep_fulfilled_in_map(pool, map, rd->name))
- return 1;
- return !pool_dep_fulfilled_in_map(pool, map, rd->evr);
- }
- if (rd->flags == REL_UNLESS)
- {
- if (ISRELDEP(rd->evr))
- {
- Reldep *rd2 = GETRELDEP(pool, rd->evr);
- if (rd2->flags == REL_ELSE)
- {
- if (!pool_dep_fulfilled_in_map(pool, map, rd2->name))
- return pool_dep_fulfilled_in_map(pool, map, rd->name);
- return pool_dep_fulfilled_in_map(pool, map, rd2->evr);
- }
- }
- if (!pool_dep_fulfilled_in_map(pool, map, rd->name))
- return 0;
- return !pool_dep_fulfilled_in_map(pool, map, rd->evr);
- }
- if (rd->flags == REL_AND)
- {
- if (!pool_dep_fulfilled_in_map(pool, map, rd->name))
- return 0;
- return pool_dep_fulfilled_in_map(pool, map, rd->evr);
- }
- if (rd->flags == REL_OR)
- {
- if (pool_dep_fulfilled_in_map(pool, map, rd->name))
- return 1;
- return pool_dep_fulfilled_in_map(pool, map, rd->evr);
- }
- return 0;
-}
-
-
-int pool_dep_fulfilled_in_map(Pool *pool, const Map *map, Id dep)
-{
- Id p, pp;
-
- if (ISRELDEP(dep)) {
- Reldep *rd = GETRELDEP(pool, dep);
- if (rd->flags == REL_COND || rd->flags == REL_UNLESS ||
- rd->flags == REL_AND || rd->flags == REL_OR)
- return pool_dep_fulfilled_in_map_cplx(pool, map, rd);
- if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_SPLITPROVIDES)
- return 0;
- }
- FOR_PROVIDES(p, pp, dep) {
- if (MAPTST(map, p))
- return 1;
- }
- return 0;
-}
-
/* EOF */
queue_free(&qq);
}
+static int
+pool_dep_fulfilled_in_map_cplx(Pool *pool, const Map *map, Reldep *rd)
+{
+ if (rd->flags == REL_COND)
+ {
+ if (ISRELDEP(rd->evr))
+ {
+ Reldep *rd2 = GETRELDEP(pool, rd->evr);
+ if (rd2->flags == REL_ELSE)
+ {
+ if (pool_dep_fulfilled_in_map(pool, map, rd2->name))
+ return pool_dep_fulfilled_in_map(pool, map, rd->name);
+ return pool_dep_fulfilled_in_map(pool, map, rd2->evr);
+ }
+ }
+ if (pool_dep_fulfilled_in_map(pool, map, rd->name))
+ return 1;
+ return !pool_dep_fulfilled_in_map(pool, map, rd->evr);
+ }
+ if (rd->flags == REL_UNLESS)
+ {
+ if (ISRELDEP(rd->evr))
+ {
+ Reldep *rd2 = GETRELDEP(pool, rd->evr);
+ if (rd2->flags == REL_ELSE)
+ {
+ if (!pool_dep_fulfilled_in_map(pool, map, rd2->name))
+ return pool_dep_fulfilled_in_map(pool, map, rd->name);
+ return pool_dep_fulfilled_in_map(pool, map, rd2->evr);
+ }
+ }
+ if (!pool_dep_fulfilled_in_map(pool, map, rd->name))
+ return 0;
+ return !pool_dep_fulfilled_in_map(pool, map, rd->evr);
+ }
+ if (rd->flags == REL_AND)
+ {
+ if (!pool_dep_fulfilled_in_map(pool, map, rd->name))
+ return 0;
+ return pool_dep_fulfilled_in_map(pool, map, rd->evr);
+ }
+ if (rd->flags == REL_OR)
+ {
+ if (pool_dep_fulfilled_in_map(pool, map, rd->name))
+ return 1;
+ return pool_dep_fulfilled_in_map(pool, map, rd->evr);
+ }
+ return 0;
+}
+
+int
+pool_dep_fulfilled_in_map(Pool *pool, const Map *map, Id dep)
+{
+ Id p, pp;
+
+ if (ISRELDEP(dep)) {
+ Reldep *rd = GETRELDEP(pool, dep);
+ if (rd->flags == REL_COND || rd->flags == REL_UNLESS ||
+ rd->flags == REL_AND || rd->flags == REL_OR)
+ return pool_dep_fulfilled_in_map_cplx(pool, map, rd);
+ if (rd->flags == REL_NAMESPACE && rd->name == NAMESPACE_SPLITPROVIDES)
+ return 0;
+ }
+ FOR_PROVIDES(p, pp, dep) {
+ if (MAPTST(map, p))
+ return 1;
+ }
+ return 0;
+}
/* EOF */