From d0b088328549c6693b127decbc1b0b8c0513a539 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Wed, 19 Nov 2008 11:59:53 +0200 Subject: [PATCH] Eliminate unnecessary fi->record field - transaction elements carry the db instance already and is available where needed --- lib/psm.c | 13 +++++++------ lib/rpmfi.c | 3 +-- lib/rpmfi_internal.h | 1 - 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/psm.c b/lib/psm.c index 710638a..35883c5 100644 --- a/lib/psm.c +++ b/lib/psm.c @@ -1219,7 +1219,7 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage) } while ((oh = rpmdbNextIterator(mi)) != NULL) { - fi->record = rpmdbGetIteratorOffset(mi); + rpmteSetDBInstance(psm->te, rpmdbGetIteratorOffset(mi)); oh = NULL; break; } @@ -1446,7 +1446,8 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage) * If this package has already been installed, remove it from * the database before adding the new one. */ - if (fi->record && !(rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY)) { + if (rpmteDBInstance(psm->te) && + !(rpmtsFlags(ts) & RPMTRANS_FLAG_APPLYONLY)) { rc = rpmpsmNext(psm, PSM_RPMDB_REMOVE); if (rc) break; } @@ -1628,8 +1629,8 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage) case PSM_RPMDB_LOAD: { rpmdbMatchIterator mi; - mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, - &fi->record, sizeof(fi->record)); + unsigned int rec = rpmteDBInstance(psm->te); + mi = rpmtsInitIterator(ts, RPMDBI_PACKAGES, &rec, sizeof(rec)); fi->h = rpmdbNextIterator(mi); if (fi->h != NULL) @@ -1655,8 +1656,8 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage) case PSM_RPMDB_REMOVE: if (rpmtsFlags(ts) & RPMTRANS_FLAG_TEST) break; (void) rpmswEnter(rpmtsOp(ts, RPMTS_OP_DBREMOVE), 0); - rc = rpmdbRemove(rpmtsGetRdb(ts), rpmtsGetTid(ts), fi->record, - NULL, NULL); + rc = rpmdbRemove(rpmtsGetRdb(ts), rpmtsGetTid(ts), + rpmteDBInstance(psm->te), NULL, NULL); (void) rpmswExit(rpmtsOp(ts, RPMTS_OP_DBREMOVE), 0); break; diff --git a/lib/rpmfi.c b/lib/rpmfi.c index 6bee623..705c77f 100644 --- a/lib/rpmfi.c +++ b/lib/rpmfi.c @@ -1225,7 +1225,6 @@ rpmfi rpmfiNew(const rpmts ts, Header h, rpmTag tagN, rpmfiFlags flags) fi->Type = Type; fi->i = -1; fi->tagN = tagN; - fi->record = headerGetInstance(h); fi->fiflags = flags; fi->scareFlags = scareFlags; @@ -1313,7 +1312,7 @@ rpmfi rpmfiNew(const rpmts ts, Header h, rpmTag tagN, rpmfiFlags flags) if (!(flags & RPMFI_NOFILELINKTOS)) _hgfi(h, RPMTAG_FILELINKTOS, &td, defFlags, fi->flinks); /* FILELANGS are only interesting when installing */ - if ((fi->record == 0) && !(flags & RPMFI_NOFILELANGS)) + if ((headerGetInstance(h) == 0) && !(flags & RPMFI_NOFILELANGS)) _hgfi(h, RPMTAG_FILELANGS, &td, defFlags, fi->flangs); /* See if the package has non-md5 file digests */ diff --git a/lib/rpmfi_internal.h b/lib/rpmfi_internal.h index f76e680..96adcdd 100644 --- a/lib/rpmfi_internal.h +++ b/lib/rpmfi_internal.h @@ -99,7 +99,6 @@ struct rpmfi_s { FSM_t fsm; /*!< File state machine data. */ sharedFileInfo replaced; /*!< (TR_ADDED) */ rpm_off_t * replacedSizes; /*!< (TR_ADDED) */ - unsigned int record; /*!< (TR_REMOVED) */ int magic; #define RPMFIMAGIC 0x09697923 /*=============================*/ -- 2.7.4