RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson
Root: /v/rpm/cvs Email: jbj@rpm5.org
Module: rpm Date: 14-Oct-2007 19:15:39
Branch: HEAD Handle: 2007101418153801
Modified files:
rpm CHANGES
rpm/lib rpmds.c
Log:
- rpmds.c: eliminate hge warning.
Summary:
Revision Changes Path
1.1698 +1 -0 rpm/CHANGES
2.70 +14 -4 rpm/lib/rpmds.c
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/CHANGES
============================================================================
$ cvs diff -u -r1.1697 -r1.1698 CHANGES
--- rpm/CHANGES 14 Oct 2007 17:06:54 -0000 1.1697
+++ rpm/CHANGES 14 Oct 2007 17:15:38 -0000 1.1698
@@ -1,4 +1,5 @@
4.5 -> 5.0:
+ - jbj: rpmds.c: eliminate hge warning.
- jbj: psm.c: eliminate a warning, simplify hge usage.
- jbj: package.c: use headerGetExtension everywhere (fix double free).
- jbj: fix: grr, headerGetEntry return code is backwards.
@@ .
patch -p0 <<'@@ .'
Index: rpm/lib/rpmds.c
============================================================================
$ cvs diff -u -r2.69 -r2.70 rpmds.c
--- rpm/lib/rpmds.c 13 Oct 2007 17:50:06 -0000 2.69
+++ rpm/lib/rpmds.c 14 Oct 2007 17:15:39 -0000 2.70
@@ -3716,9 +3716,15 @@
int rpmdsNVRMatchesDep(const Header h, const rpmds req, int nopromote)
{
- HGE_t hge = (HGE_t)headerGetEntry;
+ HGE_t hge = (HGE_t)headerGetExtension;
+ int_32 he_t = 0;
+ hRET_t he_p = { .ptr = NULL };
+ int_32 he_c = 0;
+ HE_s he_s = { .tag = 0, .t = &he_t, .p = &he_p, .c = &he_c, .freeData = 0 };
+ HE_t he = &he_s;
const char * pkgN, * V, * R;
- int_32 * epoch;
+ int_32 E;
+ int gotE = 0;
const char * pkgEVR;
char * t;
int_32 reqFlags = req->ns.Flags;
@@ -3739,14 +3745,18 @@
/*@-mods@*/
(void) headerNEVRA(h, &pkgN, NULL, &V, &R, NULL);
/*@=mods@*/
+ he->tag = RPMTAG_EPOCH;
+ gotE = hge(h, he->tag, he->t, he->p, he->c);
+ E = (he_p.i32p ? *he_p.i32p : 0);
+ he_p.ptr = _free(he_p.ptr);
nb = 21 + 1 + 1;
if (V) nb += strlen(V);
if (R) nb += strlen(R);
pkgEVR = t = alloca(nb);
*t = '\0';
- if (hge(h, RPMTAG_EPOCH, NULL, &epoch, NULL)) {
- sprintf(t, "%d:", *epoch);
+ if (gotE) {
+ sprintf(t, "%d:", E);
t += strlen(t);
}
(void) stpcpy( stpcpy( stpcpy(t, V) , "-") , R);
@@ .
Received on Sun Oct 14 19:15:39 2007