Add getters for rpmfi base- and directory name pool id's
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 12 Sep 2012 11:38:08 +0000 (14:38 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 12 Sep 2012 16:12:56 +0000 (19:12 +0300)
lib/rpmfi.c
lib/rpmfi.h
lib/rpmfi_internal.h

index 9a3c9b8..6f61b70 100644 (file)
@@ -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)
index 2e3ac24..cb85e88 100644 (file)
@@ -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
index 4561a2d..5554819 100644 (file)
@@ -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