From: Michael Schroeder Date: Mon, 8 Oct 2012 13:25:31 +0000 (+0200) Subject: use evrid2vrstr inline function X-Git-Tag: upstream/0.2.0~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ee4fa1bef4127b860cf1c8d142da7e70e08f2a1f;hp=6af0f8f8cc46636f39552d5a0e9a3f708a04ddb2;p=platform%2Fupstream%2Flibsolv.git use evrid2vrstr inline function --- diff --git a/ext/repo_susetags.c b/ext/repo_susetags.c index 2eb42e0..8edce44 100644 --- a/ext/repo_susetags.c +++ b/ext/repo_susetags.c @@ -152,7 +152,7 @@ add_source(struct parsedata *pd, char *line, Solvable *s, Id handle) 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) diff --git a/src/repodata.c b/src/repodata.c index 1574eb5..d2e56f2 100644 --- a/src/repodata.c +++ b/src/repodata.c @@ -2221,7 +2221,7 @@ evrid2vrstr(Pool *pool, Id evrid) 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 @@ -2331,16 +2331,7 @@ repodata_set_sourcepkg(Repodata *data, Id solvid, const char *sourcepkg) 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 diff --git a/src/solvable.c b/src/solvable.c index 99fe788..71ffa71 100644 --- a/src/solvable.c +++ b/src/solvable.c @@ -265,7 +265,7 @@ evrid2vrstr(Pool *pool, Id evrid) 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 * @@ -334,18 +334,7 @@ solvable_lookup_sourcepkg(Solvable *s) 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)