From e0a4949bd41819431022fcd364817edd02cb0bef Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Wed, 2 Sep 2009 12:08:33 +0300 Subject: [PATCH] Deprecate headerNVR() and friends - reimplement using the new generic getters to simplify - mark as deprecated, no uses inside rpm remain --- lib/hdrNVR.c | 92 +++++++++++++++++------------------------------------------- lib/header.h | 5 ++++ 2 files changed, 31 insertions(+), 66 deletions(-) diff --git a/lib/hdrNVR.c b/lib/hdrNVR.c index 2f32ab4..11b7b94 100644 --- a/lib/hdrNVR.c +++ b/lib/hdrNVR.c @@ -10,93 +10,53 @@ #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) diff --git a/lib/header.h b/lib/header.h index d4f88fe..27e24a8 100644 --- a/lib/header.h +++ b/lib/header.h @@ -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 -- 2.7.4