From 0cf0a7bb68d6f455a2e1bc4918a7a2509eb0055a Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Thu, 30 Oct 2008 13:43:44 +0200 Subject: [PATCH] Add couple of new rpmfi flags for file classes and file depends --- lib/rpmfi.c | 18 +++++++++++------- lib/rpmfi.h | 2 ++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/rpmfi.c b/lib/rpmfi.c index 10eed87..6f2c50f 100644 --- a/lib/rpmfi.c +++ b/lib/rpmfi.c @@ -1256,13 +1256,17 @@ rpmfi rpmfiNew(const rpmts ts, Header h, rpmTag tagN, rpmfiFlags flags) _hgfi(h, RPMTAG_FILECOLORS, &td, scareFlags, fi->fcolors); - _hgfi(h, RPMTAG_CLASSDICT, &td, scareFlags, fi->cdict); - fi->ncdict = rpmtdCount(&td); - _hgfi(h, RPMTAG_FILECLASS, &td, scareFlags, fi->fcdictx); - _hgfi(h, RPMTAG_DEPENDSDICT, &td, scareFlags, fi->ddict); - fi->nddict = rpmtdCount(&td); - _hgfi(h, RPMTAG_FILEDEPENDSX, &td, scareFlags, fi->fddictx); - _hgfi(h, RPMTAG_FILEDEPENDSN, &td, scareFlags, fi->fddictn); + if (!(flags & RPMFI_NOFILECLASS)) { + _hgfi(h, RPMTAG_CLASSDICT, &td, scareFlags, fi->cdict); + fi->ncdict = rpmtdCount(&td); + _hgfi(h, RPMTAG_FILECLASS, &td, scareFlags, fi->fcdictx); + } + if (!(flags & RPMFI_NOFILEDEPS)) { + _hgfi(h, RPMTAG_DEPENDSDICT, &td, scareFlags, fi->ddict); + fi->nddict = rpmtdCount(&td); + _hgfi(h, RPMTAG_FILEDEPENDSX, &td, scareFlags, fi->fddictx); + _hgfi(h, RPMTAG_FILEDEPENDSN, &td, scareFlags, fi->fddictn); + } _hgfi(h, RPMTAG_FILESTATES, &td, defFlags, fi->fstates); if (fi->fstates == NULL) diff --git a/lib/rpmfi.h b/lib/rpmfi.h index b0b68e3..fd9cb63 100644 --- a/lib/rpmfi.h +++ b/lib/rpmfi.h @@ -376,6 +376,8 @@ rpmfi rpmfiFree(rpmfi fi); typedef enum rpmfiFlags_e { RPMFI_NOHEADER = 0, RPMFI_KEEPHEADER = (1 << 0), + RPMFI_NOFILECLASS = (1 << 1), + RPMFI_NOFILEDEPS = (1 << 2), } rpmfiFlags; /** \ingroup rpmfi -- 2.7.4