From 86dbb8844807b077f27255cccc9c0714a0005d02 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Wed, 12 Sep 2012 14:38:34 +0300 Subject: [PATCH] Add getters for rpmds dependency name and EVR pool ids --- lib/rpmds.c | 25 +++++++++++++++++++++++++ lib/rpmds.h | 14 ++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/lib/rpmds.c b/lib/rpmds.c index b694e0f..dcf2c39 100644 --- a/lib/rpmds.c +++ b/lib/rpmds.c @@ -78,6 +78,21 @@ static int dsType(rpmTagVal tag, return rc; } +static rpmsid rpmdsNIdIndex(rpmds ds, int i) +{ + rpmsid id = 0; + if (i >= 0 && i < ds->Count && ds->N != NULL) + id = ds->N[i]; + return id; +} + +static rpmsid rpmdsEVRIdIndex(rpmds ds, int i) +{ + rpmsid id = 0; + if (i >= 0 && i < ds->Count && ds->EVR != NULL) + id = ds->EVR[i]; + return id; +} static const char * rpmdsNIndex(rpmds ds, int i) { const char * N = NULL; @@ -363,6 +378,16 @@ const char * rpmdsDNEVR(const rpmds ds) return DNEVR; } +rpmsid rpmdsNId(rpmds ds) +{ + return (ds != NULL) ? rpmdsNIdIndex(ds, ds->i) : 0; +} + +rpmsid rpmdsEVRId(rpmds ds) +{ + return (ds != NULL) ? rpmdsEVRIdIndex(ds, ds->i) : 0; +} + const char * rpmdsN(const rpmds ds) { return (ds != NULL) ? rpmdsNIndex(ds, ds->i) : NULL; diff --git a/lib/rpmds.h b/lib/rpmds.h index f04290c..0a4f27f 100644 --- a/lib/rpmds.h +++ b/lib/rpmds.h @@ -182,6 +182,20 @@ int rpmdsSetIx(rpmds ds, int ix); const char * rpmdsDNEVR(const rpmds ds); /** \ingroup rpmds + * Return current dependency name pool id. + * @param ds dependency set + * @return current dependency name id, 0 on invalid + */ +rpmsid rpmdsNId(rpmds ds); + +/** \ingroup rpmds + * Return current dependency epoch-version-release pool id. + * @param ds dependency set + * @return current dependency EVR id, 0 on invalid + */ +rpmsid rpmdsEVRId(rpmds ds); + +/** \ingroup rpmds * Return current dependency name. * @param ds dependency set * @return current dependency name, NULL on invalid -- 2.7.4