From: Michael Schroeder Date: Fri, 7 Dec 2012 12:52:30 +0000 (+0100) Subject: print bad package name when detecting dependency array mismatches X-Git-Tag: BASE-SuSE-Code-12_3-Branch~123 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc687652223bb653898b501bade728e1884b74f9;p=thirdparty%2Flibsolv.git print bad package name when detecting dependency array mismatches --- diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c index 4889dedf..c7b8a15c 100644 --- a/ext/repo_rpmdb.c +++ b/ext/repo_rpmdb.c @@ -467,7 +467,9 @@ makedeps(Pool *pool, Repo *repo, RpmHead *rpmhead, int tagn, int tagv, int tagf, } if (nc != vc || nc != fc) { - fprintf(stderr, "bad dependency entries\n"); + char *pkgname = rpm_query(rpmhead, 0); + fprintf(stderr, "bad dependency entries for %s: %d %d %d\n", pkgname ? pkgname : "", nc, vc, fc); + solv_free(pkgname); return 0; } @@ -2269,12 +2271,10 @@ rpm_query(void *rpmhandle, Id what) if (!arch) arch = "noarch"; evr = headtoevr(rpmhead); - if (!evr) - break; - l = strlen(name) + 1 + strlen(evr) + 1 + strlen(arch) + 1; + l = strlen(name) + 1 + strlen(evr ? evr : "") + 1 + strlen(arch) + 1; r = solv_malloc(l); - sprintf(r, "%s-%s.%s", name, evr, arch); - free(evr); + sprintf(r, "%s-%s.%s", name, evr ? evr : "", arch); + solv_free(evr); break; case SOLVABLE_NAME: name = headstring(rpmhead, TAG_NAME);