Deprecate headerNVR() and friends
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 2 Sep 2009 09:08:33 +0000 (12:08 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 2 Sep 2009 09:08:33 +0000 (12:08 +0300)
- reimplement using the new generic getters to simplify
- mark as deprecated, no uses inside rpm remain

lib/hdrNVR.c
lib/header.h

index 2f32ab4..11b7b94 100644 (file)
 
 #include "debug.h"
 
+static int NEVRA(Header h, const char **np,
+                uint32_t **ep, const char **vp, const char **rp,
+                const char **ap)
+{
+    if (np) *np = headerGetString(h, RPMTAG_NAME);
+    if (vp) *vp = headerGetString(h, RPMTAG_VERSION);
+    if (rp) *rp = headerGetString(h, RPMTAG_RELEASE);
+    if (ap) *ap = headerGetString(h, RPMTAG_ARCH);
+    if (ep) {
+       struct rpmtd_s td;
+       headerGet(h, RPMTAG_EPOCH, &td, HEADERGET_DEFAULT);
+       *ep = rpmtdGetUint32(&td);
+    }
+    return 0;
+}
+
 int headerNVR(Header h, const char **np, const char **vp, const char **rp)
 {
-    return headerNEVRA(h, np, NULL, vp, rp, NULL);
+    return NEVRA(h, np, NULL, vp, rp, NULL);
 }
 
 int headerNEVRA(Header h, const char **np,
                uint32_t **ep, const char **vp, const char **rp,
                const char **ap)
 {
-    struct rpmtd_s td;
+    return NEVRA(h, np, ep, vp, rp, ap);
+}
 
-    if (np) {
-       headerGet(h, RPMTAG_NAME, &td, HEADERGET_DEFAULT);
-       *np = rpmtdGetString(&td);
-    }
-    if (vp) {
-       headerGet(h, RPMTAG_VERSION, &td, HEADERGET_DEFAULT);
-       *vp = rpmtdGetString(&td);
-    }
-    if (rp) {
-       headerGet(h, RPMTAG_RELEASE, &td, HEADERGET_DEFAULT);
-       *rp = rpmtdGetString(&td);
-    }
-    if (ap) {
-       headerGet(h, RPMTAG_ARCH, &td, HEADERGET_DEFAULT);
-       *ap = rpmtdGetString(&td);
-    }
-    if (ep) {
-       headerGet(h, RPMTAG_EPOCH, &td, HEADERGET_DEFAULT);
-       *ep = rpmtdGetUint32(&td);
-    }
-    return 0;
+static char *getNEVRA(Header h, rpmTag tag, const char **np)
+{
+    if (np) *np = headerGetString(h, RPMTAG_NAME);
+    return headerGetAsString(h, tag);
 }
 
 char * headerGetNEVR(Header h, const char ** np)
 {
-    const char * n;
-    char * evr, *nevr = NULL;
-
-    evr = headerGetEVR(h, &n);
-    rasprintf(&nevr, "%s-%s", n, evr);
-    free(evr);
-    if (np)
-       *np = n;
-    return nevr;
+    return getNEVRA(h, RPMTAG_NEVR, np);
 }
 
 char * headerGetNEVRA(Header h, const char ** np)
 {
-    const char *n = NULL, *a = NULL;
-    char *nevr, *nevra = NULL;
-    struct rpmtd_s arch;
-
-    nevr = headerGetNEVR(h, &n);
-    if (headerGet(h, RPMTAG_ARCH, &arch, HEADERGET_DEFAULT)) {
-       a = rpmtdGetString(&arch);
-    }
-
-    /* XXX gpg-pubkey packages have no arch, urgh... */
-    if (a) {
-       const char *arch = headerIsSource(h) ? "src" : a;
-       rasprintf(&nevra, "%s.%s", nevr, arch);
-       free(nevr);
-    } else {
-       nevra = nevr;
-    }
-
-    if (np)
-       *np = n;
-    return nevra;
+    return getNEVRA(h, RPMTAG_NEVRA, np);
 }
 
 char * headerGetEVR(Header h, const char ** np)
 {
-    const char *n, *v, *r;
-    char *evr = NULL;
-    uint32_t *e;
-
-    (void) headerNEVRA(h, &n, &e, &v, &r, NULL);
-    if (e) {
-       rasprintf(&evr, "%d:%s-%s", *e, v, r);
-    } else {
-       rasprintf(&evr, "%s-%s", v, r);
-    }
-    if (np) 
-       *np = n;
-    return evr;
+    return getNEVRA(h, RPMTAG_EVR, np);
 }
 
 rpm_color_t headerGetColor(Header h)
index d4f88fe..27e24a8 100644 (file)
@@ -324,6 +324,7 @@ int headerNext(HeaderIterator hi, rpmtd td);
  * @retval *rp         release pointer (or NULL)
  * @return             0 always
  */
+RPM_GNUC_DEPRECATED
 int headerNVR(Header h,
                const char ** np,
                const char ** vp,
@@ -339,6 +340,7 @@ int headerNVR(Header h,
  * @retval *ap         arch pointer (or NULL)
  * @return             0 always
  */
+RPM_GNUC_DEPRECATED
 int headerNEVRA(Header h,
                const char ** np,
                uint32_t ** ep,
@@ -352,6 +354,7 @@ int headerNEVRA(Header h,
  * @retval np          name tag value
  * @return             name-version-release string
  */
+RPM_GNUC_DEPRECATED
 char * headerGetNEVR(Header h, const char ** np );
 
 /** \ingroup header
@@ -360,6 +363,7 @@ char * headerGetNEVR(Header h, const char ** np );
  * @retval np          name tag value
  * @return             name-version-release string
  */
+RPM_GNUC_DEPRECATED
 char * headerGetNEVRA(Header h, const char ** np );
 
 /* \ingroup header
@@ -368,6 +372,7 @@ char * headerGetNEVRA(Header h, const char ** np );
  * @retval np          name tag value (or NULL)
  * @return             (epoch:)version-release string
  */
+RPM_GNUC_DEPRECATED
 char * headerGetEVR(Header h, const char **np);
 
 /** \ingroup header