1 --- rpm-5.4.10/lib/query.c~ 2012-05-08 02:06:44.000000000 +0200
2 +++ rpm-5.4.10/lib/query.c 2012-09-21 13:42:12.013607913 +0200
4 case RPMQV_WHATCONFLICTS:
5 case RPMQV_WHATOBSOLETES:
6 qva->qva_mi = rpmtsInitIterator(ts, (rpmTag) qva->qva_source, arg, 0);
7 +#if defined(RPM_VENDOR_PLD)
8 + if(rpmmiCount(qva->qva_mi) == 0)
9 + qva->qva_mi = rpmmiFree(qva->qva_mi);
11 if (qva->qva_mi == NULL) {
12 rpmlog(RPMLOG_NOTICE, _("key \"%s\" not found in %s table\n"),
13 arg, tagName((rpmTag)qva->qva_source));
15 tag = (qva->qva_source == RPMQV_PKGID
16 ? RPMTAG_SOURCEPKGID : RPMTAG_PKGID);
17 qva->qva_mi = rpmtsInitIterator(ts, (rpmTag) tag, MD5, sizeof(MD5));
18 +#if defined(RPM_VENDOR_PLD)
19 + if(rpmmiCount(qva->qva_mi) == 0)
20 + qva->qva_mi = rpmmiFree(qva->qva_mi);
22 if (qva->qva_mi == NULL) {
23 rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
28 qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_SHA1HEADER, arg, 0);
29 +#if defined(RPM_VENDOR_PLD)
30 + if(rpmmiCount(qva->qva_mi) == 0)
31 + qva->qva_mi = rpmmiFree(qva->qva_mi);
33 if (qva->qva_mi == NULL) {
34 rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
37 *t = (nibble(s[0]) << 4) | nibble(s[1]);
39 qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_FILEDIGESTS, digest, dlen);
40 +#if defined(RPM_VENDOR_PLD)
41 + if(rpmmiCount(qva->qva_mi) == 0)
42 + qva->qva_mi = rpmmiFree(qva->qva_mi);
44 if (qva->qva_mi == NULL) {
45 rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
50 qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_INSTALLTID, &iid, sizeof(iid));
51 +#if defined(RPM_VENDOR_PLD)
52 + if(rpmmiCount(qva->qva_mi) == 0)
53 + qva->qva_mi = rpmmiFree(qva->qva_mi);
55 if (qva->qva_mi == NULL) {
56 rpmlog(RPMLOG_NOTICE, _("no package matches %s: %s\n"),
60 case RPMQV_WHATREQUIRES:
61 qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_REQUIRENAME, arg, 0);
62 +#if defined(RPM_VENDOR_PLD)
63 + if(rpmmiCount(qva->qva_mi) == 0)
64 + qva->qva_mi = rpmmiFree(qva->qva_mi);
66 if (qva->qva_mi == NULL) {
67 rpmlog(RPMLOG_NOTICE, _("no package requires %s\n"), arg);
72 qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, arg, 0);
73 +#if defined(RPM_VENDOR_PLD)
74 + if(rpmmiCount(qva->qva_mi) == 0)
75 + qva->qva_mi = rpmmiFree(qva->qva_mi);
77 if (qva->qva_mi == NULL) {
78 rpmlog(RPMLOG_NOTICE, _("no package provides %s\n"), arg);
81 qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_FILEPATHS, fn, 0);
82 if (qva->qva_mi == NULL && !provides_checked && !gotpattern) {
83 qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, fn, 0);
84 -#if defined(RPM_VENDOR_MANDRIVA)
85 +#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_PLD)
86 if(rpmmiCount(qva->qva_mi) == 0)
87 qva->qva_mi = rpmmiFree(qva->qva_mi);
91 rpmlog(RPMLOG_DEBUG, D_("package record number: %u\n"), (unsigned)hdrNum);
92 qva->qva_mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, &hdrNum, sizeof(hdrNum));
93 +#if defined(RPM_VENDOR_PLD)
94 + if(rpmmiCount(qva->qva_mi) == 0)
95 + qva->qva_mi = rpmmiFree(qva->qva_mi);
97 if (qva->qva_mi == NULL) {
99 _("record %u could not be read\n"), (unsigned)hdrNum);