Eliminate uses of headerNVR() and friends in librpm (and python) code
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 2 Sep 2009 09:06:34 +0000 (12:06 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 2 Sep 2009 09:06:34 +0000 (12:06 +0300)
14 files changed:
lib/depends.c
lib/legacy.c
lib/package.c
lib/psm.c
lib/rpmdb.c
lib/rpmds.c
lib/rpminstall.c
lib/rpmlead.c
lib/rpmte.c
lib/rpmts.c
lib/tagexts.c
lib/transaction.c
lib/verify.c
python/rpmts-py.c

index bf1aec7..7d4609e 100644 (file)
@@ -326,7 +326,7 @@ addheader:
             */
            if (rpmdsEVR(obsoletes) == NULL
             || rpmdsAnyMatchesDep(oh, obsoletes, _rpmds_nopromote)) {
-               char * ohNEVRA = headerGetNEVRA(oh, NULL);
+               char * ohNEVRA = headerGetAsString(oh, RPMTAG_NEVRA);
 #ifdef DYING   /* XXX see http://bugzilla.redhat.com #134497 */
                if (rpmVersionCompare(h, oh))
 #endif
@@ -648,7 +648,7 @@ static int checkPackageSet(rpmts ts, const char * dep,
        rpmds requires, conflicts;
        int rc;
 
-       pkgNEVRA = headerGetNEVRA(h, NULL);
+       pkgNEVRA = headerGetAsString(h, RPMTAG_NEVRA);
        requires = rpmdsNew(h, RPMTAG_REQUIRENAME, 0);
        (void) rpmdsSetNoPromote(requires, _rpmds_nopromote);
        conflicts = rpmdsNew(h, RPMTAG_CONFLICTNAME, 0);
index b5ecf70..f06b3a5 100644 (file)
@@ -133,15 +133,14 @@ static void expandFilelist(Header h)
  */
 static void providePackageNVR(Header h)
 {
-    const char *name;
-    char *pEVR;
+    const char *name = headerGetString(h, RPMTAG_NAME);
+    char *pEVR = headerGetAsString(h, RPMTAG_EVR);
     rpmsenseFlags pFlags = RPMSENSE_EQUAL;
     int bingo = 1;
     struct rpmtd_s pnames;
     rpmds hds, nvrds;
 
     /* Generate provides for this package name-version-release. */
-    pEVR = headerGetEVR(h, &name);
     if (!(name && pEVR))
        return;
 
@@ -178,9 +177,8 @@ static void providePackageNVR(Header h)
 
 exit:
     if (bingo) {
-       const char *evr = pEVR;
        headerPutString(h, RPMTAG_PROVIDENAME, name);
-       headerPutString(h, RPMTAG_PROVIDEVERSION, evr);
+       headerPutString(h, RPMTAG_PROVIDEVERSION, pEVR);
        headerPutUint32(h, RPMTAG_PROVIDEFLAGS, &pFlags, 1);
     }
     rpmtdFreeData(&pnames);
index d5c3f87..a7c3a1b 100644 (file)
@@ -793,7 +793,7 @@ rpmRC headerCheckPayloadFormat(Header h) {
     if (payloadfmt && rstreq(payloadfmt, "cpio")) {
        rc = RPMRC_OK;
     } else {
-        char *nevra = headerGetNEVRA(h, NULL);
+        char *nevra = headerGetAsString(h, RPMTAG_NEVRA);
         if (payloadfmt && rstreq(payloadfmt, "drpm")) {
             rpmlog(RPMLOG_ERR,
                      _("%s is a Delta RPM and cannot be directly installed\n"),
index 2bee270..3ca7b80 100644 (file)
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -224,7 +224,7 @@ static int rpmlibDeps(Header h)
            continue;
        if (rpmdsSearch(rpmlib, req) < 0) {
            if (!nvr) {
-               nvr = headerGetNEVRA(h, NULL);
+               nvr = headerGetAsString(h, RPMTAG_NEVRA);
                rpmlog(RPMLOG_ERR, _("Missing rpmlib features for %s:\n"), nvr);
            }
            rpmlog(RPMLOG_ERR, "\t%s\n", rpmdsDNEVR(req)+2);
@@ -882,15 +882,11 @@ static rpmRC handleOneTrigger(const rpmpsm psm,
 {
     const rpmts ts = psm->ts;
     rpmds trigger = NULL;
-    const char * sourceName;
-    const char * triggerName;
+    const char * sourceName = headerGetString(sourceH, RPMTAG_NAME);
+    const char * triggerName = headerGetString(trigH, RPMTAG_NAME);
     rpmRC rc = RPMRC_OK;
-    int xx;
     int i;
 
-    xx = headerNVR(sourceH, &sourceName, NULL, NULL);
-    xx = headerNVR(trigH, &triggerName, NULL, NULL);
-
     trigger = rpmdsInit(rpmdsNew(trigH, RPMTAG_TRIGGERNAME, 0));
     if (trigger == NULL)
        return rc;
index 78ea149..c405fa5 100644 (file)
@@ -2516,7 +2516,7 @@ int rpmdbRemove(rpmdb db, int rid, unsigned int hdrNum,
     }
 
     {  
-       char *nevra = headerGetNEVRA(h, NULL);
+       char *nevra = headerGetAsString(h, RPMTAG_NEVRA);
        rpmlog(RPMLOG_DEBUG, "  --- h#%8u %s\n", hdrNum, nevra);
        free(nevra);
     }
@@ -3217,11 +3217,11 @@ int rpmdbRebuild(const char * prefix, rpmts ts,
 
            /* Filter duplicate entries ? (bug in pre rpm-3.0.4) */
            if (_db_filter_dups || newdb->db_filter_dups) {
-               const char * name, * version, * release;
+               const char *name = headerGetString(h, RPMTAG_NAME);
+               const char *version = headerGetString(h, RPMTAG_VERSION);
+               const char *release = headerGetString(h, RPMTAG_RELEASE);
                int skip = 0;
 
-               (void) headerNVR(h, &name, &version, &release);
-
                {   rpmdbMatchIterator mi;
                    mi = rpmdbInitIterator(newdb, RPMTAG_NAME, name, 0);
                    (void) rpmdbSetIteratorRE(mi, RPMTAG_VERSION,
index f2e9107..a6f1786 100644 (file)
@@ -218,12 +218,8 @@ char * rpmdsNewDNEVR(const char * dspfx, const rpmds ds)
 
 rpmds rpmdsThis(Header h, rpmTag tagN, rpmsenseFlags Flags)
 {
-    rpmds ds;
-    const char * n;
-    char *evr;
-
-    evr = headerGetEVR(h, &n);
-    ds = rpmdsSingle(tagN, n, evr, Flags);
+    char *evr = headerGetAsString(h, RPMTAG_EVR);
+    rpmds ds = rpmdsSingle(tagN, headerGetString(h, RPMTAG_NAME), evr, Flags);
     free(evr);
     return ds;
 }
@@ -894,7 +890,8 @@ int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
        return rc;
 
     /* Get package information from header */
-    pkgEVR = headerGetEVR(h, &pkgN);
+    pkgN = headerGetString(h, RPMTAG_NAME);
+    pkgEVR = headerGetAsString(h, RPMTAG_EVR);
     if ((pkg = rpmdsSingle(RPMTAG_PROVIDENAME, pkgN, pkgEVR, pkgFlags)) != NULL) {
        if (nopromote)
            (void) rpmdsSetNoPromote(pkg, nopromote);
index c050290..6b3dde7 100644 (file)
@@ -360,11 +360,10 @@ static int tryReadHeader(rpmts ts, struct rpmEIU * eiu, rpmVSFlags vsflags)
 static int checkFreshenStatus(rpmts ts, struct rpmEIU * eiu)
 {
     rpmdbMatchIterator mi = NULL;
-    const char * name = NULL;
+    const char * name = headerGetString(eiu->h, RPMTAG_NAME);
     Header oldH;
     int count;
 
-    headerNVR(eiu->h, &name, NULL, NULL);
     if (name != NULL)
         mi = rpmtsInitIterator(ts, RPMTAG_NAME, name, 0);
     count = rpmdbGetIteratorCount(mi);
@@ -542,10 +541,8 @@ restart:
                eiu->relocations->oldPath = xstrdup(rpmtdGetString(&prefixes));
                rpmtdFreeData(&prefixes);
            } else {
-               const char * name;
-               headerNVR(eiu->h, &name, NULL, NULL);
-               rpmlog(RPMLOG_ERR,
-                              _("package %s is not relocatable\n"), name);
+               rpmlog(RPMLOG_ERR, _("package %s is not relocatable\n"),
+                      headerGetString(eiu->h, RPMTAG_NAME));
                eiu->numFailed++;
                goto exit;
            }
index 14487f2..22c29c8 100644 (file)
@@ -62,7 +62,7 @@ rpmlead rpmLeadFromHeader(Header h)
     rpmlead l = rpmLeadNew();
 
     l->type = (headerIsSource(h) ? 1 : 0);
-    nevr = headerGetNEVR(h, NULL);
+    nevr = headerGetAsString(h, RPMTAG_NEVR);
     rstrlcpy(l->name, nevr, sizeof(l->name));
     free(nevr);
 
index cea004e..f25af12 100644 (file)
@@ -233,35 +233,22 @@ static void addTE(rpmts ts, rpmte p, Header h,
                fnpyKey key,
                rpmRelocation * relocs)
 {
-    const char *name, *version, *release, *arch, *os;
-    struct rpmtd_s td;
+    p->name = headerGetAsString(h, RPMTAG_NAME);
+    p->version = headerGetAsString(h, RPMTAG_VERSION);
+    p->release = headerGetAsString(h, RPMTAG_RELEASE);
 
-    name = version = release = arch = NULL;
-    headerNEVRA(h, &name, NULL, &version, &release, &arch);
+    p->epoch = headerGetAsString(h, RPMTAG_EPOCH);
 
+    p->arch = headerGetAsString(h, RPMTAG_ARCH);
+    p->archScore = p->arch ? rpmMachineScore(RPM_MACHTABLE_INSTARCH, p->arch) : 0;
 
-    p->name = xstrdup(name);
-    p->version = xstrdup(version);
-    p->release = xstrdup(release);
-
-    if (headerGet(h, RPMTAG_EPOCH, &td, HEADERGET_MINMEM)) {
-       p->epoch = rpmtdFormat(&td, RPMTD_FORMAT_STRING, NULL);
-    } else {
-       p->epoch = NULL;
-    }
-
-    p->arch = arch ? xstrdup(arch) : NULL;
-    p->archScore = arch ? rpmMachineScore(RPM_MACHTABLE_INSTARCH, arch) : 0;
-
-    headerGet(h, RPMTAG_OS, &td, HEADERGET_MINMEM);
-    os = rpmtdGetString(&td);
-    p->os = os ? xstrdup(os) : NULL;
+    p->os = headerGetAsString(h, RPMTAG_OS);
     p->osScore = p->os ? rpmMachineScore(RPM_MACHTABLE_INSTOS, p->os) : 0;
 
     p->isSource = headerIsSource(h);
     
-    p->NEVR = headerGetNEVR(h, NULL);
-    p->NEVRA = headerGetNEVRA(h, NULL);
+    p->NEVR = headerGetAsString(h, RPMTAG_NEVR);
+    p->NEVRA = headerGetAsString(h, RPMTAG_NEVRA);
 
     p->nrelocs = 0;
     p->relocs = NULL;
index b259abe..ce5a7be 100644 (file)
@@ -321,7 +321,7 @@ static int loadKeyringFromDB(rpmts ts)
            if (b64decode(key, (void **) &pkt, &pktlen) == 0) {
                rpmPubkey key = rpmPubkeyNew(pkt, pktlen);
                if (rpmKeyringAddKey(ts->keyring, key) == 0) {
-                   char *nvr = headerGetNEVR(h, NULL);
+                   char *nvr = headerGetAsString(h, RPMTAG_NVR);
                    rpmlog(RPMLOG_DEBUG, "added key %s to keyring\n", nvr);
                    free(nvr);
                    nkeys++;
index 8ccc98f..ba93b83 100644 (file)
@@ -489,11 +489,9 @@ static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
        const char * langval;
        char * msgkey;
        const char * msgid;
-       const char * n;
-       int xx;
 
-       xx = headerNVR(h, &n, NULL, NULL);
-       rasprintf(&msgkey, "%s(%s)", n, rpmTagGetName(tag));
+       rasprintf(&msgkey, "%s(%s)", headerGetString(h, RPMTAG_NAME), 
+                 rpmTagGetName(tag));
 
        /* change to en_US for msgkey -> msgid resolution */
        langval = getenv(language);
index 98b4503..1ccabcd 100644 (file)
@@ -99,7 +99,7 @@ static int handleInstInstalledFile(const rpmts ts, rpmte p, rpmfi fi,
        }
 
        if (rConflicts) {
-           char *altNEVR = headerGetNEVRA(otherHeader, NULL);
+           char *altNEVR = headerGetAsString(otherHeader, RPMTAG_NEVRA);
            rpmps ps = rpmtsProblems(ts);
            rpmpsAppend(ps, RPMPROB_FILE_CONFLICT,
                        rpmteNEVRA(p), rpmteKey(p),
@@ -367,7 +367,7 @@ static int ensureOlder(const rpmte p, const Header h, rpmps ps)
     req = rpmdsFree(req);
 
     if (rc == 0) {
-       char * altNEVR = headerGetNEVRA(h, NULL);
+       char * altNEVR = headerGetAsString(h, RPMTAG_NEVRA);
        rpmpsAppend(ps, RPMPROB_OLDPACKAGE,
                rpmteNEVRA(p), rpmteKey(p),
                NULL, NULL,
index c8ea8d7..09547a5 100644 (file)
@@ -418,7 +418,7 @@ static int verifyDependencies(QVA_t qva, rpmts ts,
 
     psi = rpmpsInitIterator(ps);
     if (rpmpsNumProblems(ps) > 0) {
-       char *nevra = headerGetNEVRA(h, NULL);
+       char *nevra = headerGetAsString(h, RPMTAG_NEVRA);
        rpmlog(RPMLOG_NOTICE, _("Unsatisfied dependencies for %s:\n"), nevra);
        free(nevra);
        while (rpmpsNextIterator(psi) >= 0) {
index 795c87c..033e77d 100644 (file)
@@ -808,9 +808,7 @@ rpmtsCallback(const void * hd, const rpmCallbackType what,
     /* Synthesize a python object for callback (if necessary). */
     if (pkgObj == NULL) {
        if (h) {
-           const char * n = NULL;
-           (void) headerNVR(h, &n, NULL, NULL);
-           pkgObj = Py_BuildValue("s", n);
+           pkgObj = Py_BuildValue("s", headerGetString(h, RPMTAG_NAME));
        } else {
            pkgObj = Py_None;
            Py_INCREF(pkgObj);