28 const char *n, *e, *a;
34 sprintf(p,
"%s-%s.%s", n, e, a);
69 const char *str, *basestr;
78 if (str || keyname == basekeyname)
86 return usebase ? basestr : 0;
88 for (pass = 0; pass < 2; pass++)
98 if (!str || strcmp(str, basestr))
105 return usebase ? basestr : 0;
127 if (keyname >= ID_NUM_INTERNAL)
195 const unsigned char *
215 static inline const char *
218 const char *p, *evr =
id2str(pool, evrid);
221 for (p = evr; *p >=
'0' && *p <=
'9'; p++)
223 return p != evr && *p ==
':' ? p + 1 : evr;
232 const char *mediadir, *mediafile;
246 l = strlen(mediadir) + 1;
249 const char *name, *evr, *arch;
256 sprintf(loc,
"%s/%s-%s.%s.rpm", mediadir, name, evr, arch);
258 sprintf(loc,
"%s-%s.%s.rpm", name, evr, arch);
267 sprintf(loc,
"%s/%s", mediadir, mediafile);
269 strcpy(loc, mediafile);
324 int r, interesting = 0;
331 while ((req = *reqp++) != 0)
333 if (req == SOLVABLE_PREREQMARKER)
345 while ((con = *conp++) != 0)
363 while ((obs = *obsp++) != 0)
369 if (s->
repo != installed)
386 if (!
MAPTST(installedmap, i))
392 while ((con = *conp++) != 0)
401 return interesting ? 1 : -1;
419 for (i = 0; i < installed->
count; i++)
474 for (i = 0; i < installed->
count; i++)
486 while ((con = *conp++) != 0)
490 MAPSET(conflictsmap, *dp);
501 unsigned int bt1, bt2;
554 while ((prov = *provp++) != 0)