}
while ((oh = rpmdbNextIterator(mi)) != NULL) {
- fi->record = rpmdbGetIteratorOffset(mi);
+ rpmteSetDBInstance(psm->te, rpmdbGetIteratorOffset(mi));
oh = NULL;
break;
}
* 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;
}
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)
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;
fi->Type = Type;
fi->i = -1;
fi->tagN = tagN;
- fi->record = headerGetInstance(h);
fi->fiflags = flags;
fi->scareFlags = scareFlags;
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 */
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
/*=============================*/