RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 12-Sep-2011 16:16:38 Branch: HEAD Handle: 2011091214163700 Modified files: rpm CHANGES rpm/lib rpmgi.c Log: - rpmgi: fix: load rpmdb tag value filters more carefully. Summary: Revision Changes Path 1.3675 +1 -0 rpm/CHANGES 2.79 +8 -5 rpm/lib/rpmgi.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3674 -r1.3675 CHANGES --- rpm/CHANGES 6 Sep 2011 14:41:17 -0000 1.3674 +++ rpm/CHANGES 12 Sep 2011 14:16:37 -0000 1.3675 @@ -1,4 +1,5 @@ HEAD: + - jbj: rpmgi: fix: load rpmdb tag value filters more carefully. - devzero2000: add lzip support - devzero2000: add lrzip support (blueprint https://blueprints.launchpad.net/rpm/+spec/rpm5-use-lrzip-as-new-compression-program) @@ . patch -p0 <<'@@ .' Index: rpm/lib/rpmgi.c ============================================================================ $ cvs diff -u -r2.78 -r2.79 rpmgi.c --- rpm/lib/rpmgi.c 19 Mar 2011 14:51:51 -0000 2.78 +++ rpm/lib/rpmgi.c 12 Sep 2011 14:16:37 -0000 2.79 @@ -432,7 +432,7 @@ { rpmRC rpmrc = RPMRC_OK; ARGV_t av; - int res = 0; + int got = 0; gi->mi = rpmtsInitIterator(gi->ts, gi->tag, gi->keyp, gi->keylen); @@ -454,22 +454,25 @@ *ae++ = '\0'; if (*a != '\0') { /* XXX HACK: permit '=foo' */ tag = tagValue(a); +#ifdef DYING /* XXX arbitrary tags always have a return value */ if (tag < 0) { rpmlog(RPMLOG_NOTICE, _("unknown tag: \"%s\"\n"), a); - res = 1; + got = -1; } +#endif } pat = ae; + got++; } - if (!res) { + if (got) { if (_rpmgi_debug < 0) fprintf(stderr, "\tav %p[%d]: \"%s\" -> %s ~= \"%s\"\n", gi->argv, (int)(av - gi->argv), *av, tagName(tag), pat); - res = rpmmiAddPattern(gi->mi, tag, RPMMIRE_DEFAULT, pat); + got = rpmmiAddPattern(gi->mi, tag, RPMMIRE_DEFAULT, pat); } a = _free(a); } - if (res == 0) + if (got >= 0) continue; gi->mi = rpmmiFree(gi->mi); /* XXX odd side effect? */ @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org