[prev in list] [next in list] [prev in thread] [next in thread]
List: rpm-cvs
Subject: [CVS] RPM: rpm/rpmdb/ rpmdb.c
From: "Alexey Tourbin" <at () rpm5 ! org>
Date: 2008-08-27 12:25:47
Message-ID: 20080827122547.92460779C8 () rpm5 ! org
[Download RAW message or body]
RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Alexey Tourbin
Root: /v/rpm/cvs Email: at@rpm5.org
Module: rpm Date: 27-Aug-2008 14:25:47
Branch: HEAD Handle: 2008082712254700
Modified files:
rpm/rpmdb rpmdb.c
Log:
rpmdb.c (rpmdbInitIterator): made (keyp == NULL) special case #3
Summary:
Revision Changes Path
1.269 +5 -10 rpm/rpmdb/rpmdb.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/rpmdb/rpmdb.c
============================================================================
$ cvs diff -u -r1.268 -r1.269 rpmdb.c
--- rpm/rpmdb/rpmdb.c 27 Aug 2008 12:00:57 -0000 1.268
+++ rpm/rpmdb/rpmdb.c 27 Aug 2008 12:25:47 -0000 1.269
@@ -2668,6 +2668,11 @@
set->recs = xcalloc(1, sizeof(set->recs[0]));
set->recs[0].hdrNum = hdrNum.ui;
}
+ else if (keyp == NULL) {
+ /* XXX Special case #3: they want empty iterator,
+ * for use with rpmdbAppendIterator(). */
+ assert(keylen == 0);
+ }
else {
/* Common case: retrieve join keys. */
DBC * dbcursor = NULL;
@@ -2675,20 +2680,10 @@
DBT v = DBT_INIT;
int rc;
int xx;
- int isLabel = 0;
/* XXX HACK to remove rpmdbFindByLabel/findMatches from the API */
if (rpmtag == RPMDBI_LABEL) {
rpmtag = RPMTAG_NAME;
- isLabel = 1;
- }
-
- if (keyp == NULL) {
- /* XXX HACK keyp should not be NULL here, but rpmdbFindFpList
- * has rpmdbInitIterator(db, RPMTAG_BASENAMES, NULL, 0) call */
- if (rpmtag != RPMTAG_BASENAMES)
- rc = 1;
- } else if (isLabel) {
xx = dbiCopen(dbi, dbi->dbi_txnid, &dbcursor, 0);
rc = dbiFindByLabel(dbi, dbcursor, &k, &v, keyp, &set);
xx = dbiCclose(dbi, dbcursor, 0);
@@ .
______________________________________________________________________
RPM Package Manager http://rpm5.org
CVS Sources Repository rpm-cvs@rpm5.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic