Make headerNEVRA() actually return epoch too
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 9 Apr 2008 07:32:44 +0000 (10:32 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 9 Apr 2008 07:32:44 +0000 (10:32 +0300)
- ...but epoch is an integer type in headers, change proto to match that

rpmdb/hdrNVR.c
rpmdb/header.h

index e9d46ef..a7e7521 100644 (file)
@@ -33,7 +33,7 @@ int headerNVR(Header h, const char **np, const char **vp, const char **rp)
 }
 
 int headerNEVRA(Header h, const char **np,
-               const char **ep, const char **vp, const char **rp,
+               int32_t **ep, const char **vp, const char **rp,
                const char **ap)
 {
     rpmTagType type;
@@ -45,6 +45,11 @@ int headerNEVRA(Header h, const char **np,
            && type == RPM_STRING_TYPE && count == 1))
                *ap = NULL;
     }
+    if (ep) {
+       if (!(headerGetEntry(h, RPMTAG_EPOCH, &type, (rpm_data_t *) ep, &count)
+           && type == RPM_INT32_TYPE && count == 1))
+               *ep = NULL;
+    }
     return 0;
 }
 
index 0c63255..ab6f165 100644 (file)
@@ -490,7 +490,7 @@ int headerNVR(Header h,
  */
 int headerNEVRA(Header h,
                const char ** np,
-               const char ** ep,
+               int32_t ** ep,
                const char ** vp,
                const char ** rp,
                const char ** ap);