Add convenience function for retrieving numeric header data
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 2 Sep 2009 10:27:18 +0000 (13:27 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 2 Sep 2009 10:27:18 +0000 (13:27 +0300)
lib/header.c
lib/header.h

index c798f75..91fa638 100644 (file)
@@ -1934,3 +1934,15 @@ const char * headerGetString(Header h, rpmTag tag)
     return res;
 }
 
+uint64_t headerGetNumber(Header h, rpmTag tag)
+{
+    uint64_t res = 0;
+    struct rpmtd_s td;
+
+    if (headerGet(h, tag, &td, HEADERGET_EXT)) {
+       if (rpmtdCount(&td) == 1) {
+           res = rpmtdGetNumber(&td);
+       }
+    }
+    return res;
+}
index 27e24a8..640c48f 100644 (file)
@@ -391,6 +391,14 @@ char * headerGetAsString(Header h, rpmTag tag);
  */
 const char * headerGetString(Header h, rpmTag tag);
 
+/* \ingroup header
+ * Return a simple number tag (or extension) from header
+ * @param h            header
+ * @param tag          tag to retrieve
+ * @return             numeric tag value or 0 on failure
+ */
+uint64_t headerGetNumber(Header h, rpmTag tag);
+
 /** \ingroup header
  * Return header color.
  * @param h            header