From bfde7c4d0ae940dce2686326212a5329d7efa2aa Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Wed, 12 Sep 2012 14:38:08 +0300 Subject: [PATCH] Add getters for rpmfi base- and directory name pool id's --- lib/rpmfi.c | 22 ++++++++++++++++++++++ lib/rpmfi.h | 14 ++++++++++++++ lib/rpmfi_internal.h | 6 ++++++ 3 files changed, 42 insertions(+) diff --git a/lib/rpmfi.c b/lib/rpmfi.c index 9a3c9b8..6f61b70 100644 --- a/lib/rpmfi.c +++ b/lib/rpmfi.c @@ -94,6 +94,26 @@ int rpmfiDIIndex(rpmfi fi, int dx) return j; } +rpmsid rpmfiBNIdIndex(rpmfi fi, int ix) +{ + rpmsid id = 0; + if (fi != NULL && ix >= 0 && ix < fi->fc) { + if (fi->bnid != NULL) + id = fi->bnid[ix]; + } + return id; +} + +rpmsid rpmfiDNIdIndex(rpmfi fi, int jx) +{ + rpmsid id = 0; + if (fi != NULL && jx >= 0 && jx < fi->fc) { + if (fi->dnid != NULL) + id = fi->dnid[jx]; + } + return id; +} + const char * rpmfiBNIndex(rpmfi fi, int ix) { const char * BN = NULL; @@ -1291,6 +1311,8 @@ void rpmfiFpLookup(rpmfi fi, fingerPrintCache fpc) #define RPMFI_ITERFUNC(TYPE, NAME, IXV) \ TYPE rpmfi ## NAME(rpmfi fi) { return rpmfi ## NAME ## Index(fi, fi ? fi->IXV : -1); } +RPMFI_ITERFUNC(rpmsid, BNId, i) +RPMFI_ITERFUNC(rpmsid, DNId, j) RPMFI_ITERFUNC(const char *, BN, i) RPMFI_ITERFUNC(const char *, DN, j) RPMFI_ITERFUNC(const char *, FLink, i) diff --git a/lib/rpmfi.h b/lib/rpmfi.h index 2e3ac24..cb85e88 100644 --- a/lib/rpmfi.h +++ b/lib/rpmfi.h @@ -148,6 +148,20 @@ int rpmfiDX(rpmfi fi); int rpmfiSetDX(rpmfi fi, int dx); /** \ingroup rpmfi + * Return current base name pool id from file info set. + * @param fi file info set + * @return current base name id, 0 on invalid + */ +rpmsid rpmfiBNId(rpmfi fi); + +/** \ingroup rpmfi + * Return current directory name pool id from file info set. + * @param fi file info set + * @return current base name id, 0 on invalid + */ +rpmsid rpmfiDNId(rpmfi fi); + +/** \ingroup rpmfi * Return current base name from file info set. * @param fi file info set * @return current base name, NULL on invalid diff --git a/lib/rpmfi_internal.h b/lib/rpmfi_internal.h index 4561a2d..5554819 100644 --- a/lib/rpmfi_internal.h +++ b/lib/rpmfi_internal.h @@ -76,6 +76,12 @@ RPM_GNUC_INTERNAL int rpmfiDIIndex(rpmfi fi, int dx); RPM_GNUC_INTERNAL +rpmsid rpmfiBNIdIndex(rpmfi fi, int ix); + +RPM_GNUC_INTERNAL +rpmsid rpmfiDNIdIndex(rpmfi fi, int jx); + +RPM_GNUC_INTERNAL const char * rpmfiBNIndex(rpmfi fi, int ix); RPM_GNUC_INTERNAL -- 2.7.4