const char *p;
for (p = sevr; *p >= '0' && *p <= '9'; p++)
;
- if (*p == ':' && p[1])
+ if (p != sevr && *p == ':' && p[1])
sevr = p;
}
if (name == s->name)
return evr;
for (p = evr; *p >= '0' && *p <= '9'; p++)
;
- return p != evr && *p == ':' ? p + 1 : evr;
+ return p != evr && *p == ':' && p[1] ? p + 1 : evr;
}
void
else
repodata_set_id(data, solvid, SOLVABLE_SOURCENAME, pool_strn2id(pool, sourcepkg, sevr - sourcepkg - 1, 1));
- evr = pool_id2str(pool, s->evr);
- if (evr)
- {
- /* strip epoch */
- const char *pp;
- for (pp = evr; *pp >= '0' && *pp <= '9'; pp++)
- ;
- if (*pp == ':' && pp[1])
- evr = pp + 1;
- }
+ evr = evrid2vrstr(pool, s->evr);
if (evr && !strncmp(sevr, evr, sarch - sevr - 1) && evr[sarch - sevr - 1] == 0)
repodata_set_void(data, solvid, SOLVABLE_SOURCEEVR);
else
return evr;
for (p = evr; *p >= '0' && *p <= '9'; p++)
;
- return p != evr && *p == ':' ? p + 1 : evr;
+ return p != evr && *p == ':' && p[1] ? p + 1 : evr;
}
const char *
return 0;
archid = solvable_lookup_id(s, SOLVABLE_SOURCEARCH);
if (solvable_lookup_void(s, SOLVABLE_SOURCEEVR))
- {
- evr = pool_id2str(pool, s->evr);
- if (evr && (archid == ARCH_SRC || archid == ARCH_NOSRC))
- {
- /* assume rpm, strip epoch */
- const char *p;
- for (p = evr; *p >= '0' && *p <= '9'; p++)
- ;
- if (*p == ':' && p[1])
- evr = p + 1;
- }
- }
+ evr = evrid2vrstr(pool, s->evr);
else
evr = solvable_lookup_str(s, SOLVABLE_SOURCEEVR);
if (archid == ARCH_SRC || archid == ARCH_NOSRC)