RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Per Øyvind Karlsen
  Root:   /v/rpm/cvs                       Email:  [email protected]
  Module: rpm                              Date:   06-Aug-2009 02:55:09
  Branch: rpm-5_2                          Handle: 2009080600550800

  Modified files:           (Branch: rpm-5_2)
    rpm                     CHANGES
    rpm/rpmdb               rpmevr.c

  Log:
    rpmevr: make rpmEVRparse() work with missing values.

  Summary:
    Revision    Changes     Path
    1.2970.2.35 +1  -0      rpm/CHANGES
    1.32.2.1    +7  -1      rpm/rpmdb/rpmevr.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2970.2.34 -r1.2970.2.35 CHANGES
  --- rpm/CHANGES       26 Jul 2009 08:00:26 -0000      1.2970.2.34
  +++ rpm/CHANGES       6 Aug 2009 00:55:08 -0000       1.2970.2.35
  @@ -1,4 +1,5 @@
   5.2.0 -> 5.2.1:
  +    - proyvind: rpmevr: make rpmEVRparse() work with missing values.
       - proyvind: rpm46compat: Implement RPM 4.6 API wrapper providing 
~seamless
        API compatibility for the function wrappers provided. :)
       - proyvind: python: start on implementing proper regression tests.
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmevr.c
  ============================================================================
  $ cvs diff -u -r1.32 -r1.32.2.1 rpmevr.c
  --- rpm/rpmdb/rpmevr.c        27 Mar 2009 17:42:00 -0000      1.32
  +++ rpm/rpmdb/rpmevr.c        6 Aug 2009 00:55:08 -0000       1.32.2.1
  @@ -212,7 +212,13 @@
   
       }
   
  -    evr->Elong = evr->F[RPMEVR_E] ? strtoul(evr->F[RPMEVR_E], NULL, 10) : 0;
  +    /* XXX HACK: postpone committing to single "missing" value for now. */
  +    if (evr->F[RPMEVR_E] == NULL) evr->F[RPMEVR_E] = "0";
  +    if (evr->F[RPMEVR_V] == NULL) evr->F[RPMEVR_V] = "";
  +    if (evr->F[RPMEVR_R] == NULL) evr->F[RPMEVR_R] = "";
  +    if (evr->F[RPMEVR_D] == NULL) evr->F[RPMEVR_D] = "";
  +
  +    evr->Elong = strtoul(evr->F[RPMEVR_E], NULL, 10);
   
       xx = mireSetEOptions(mire, NULL, 0);
   
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to