RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: rpm/ CHANGES rpm/lib/ rpmds.c

From: Jeff Johnson <jbj@rpm5.org>
Date: Sun 14 Oct 2007 - 19:15:39 CEST
Message-Id: <20071014171539.2EB6D348466@rpm5.org>
  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
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.