Add getters for rpmds dependency name and EVR pool ids
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 12 Sep 2012 11:38:34 +0000 (14:38 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 12 Sep 2012 16:13:02 +0000 (19:13 +0300)
lib/rpmds.c
lib/rpmds.h

index b694e0f..dcf2c39 100644 (file)
@@ -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;
index f04290c..0a4f27f 100644 (file)
@@ -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