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

  Server: rpm5.org                         Name:   Per Øyvind Karlsen
  Root:   /v/rpm/cvs                       Email:  pkarl...@rpm5.org
  Module: rpm                              Date:   13-Jul-2011 16:50:20
  Branch: rpm-5_3                          Handle: 2011071314502000

  Modified files:           (Branch: rpm-5_3)
    rpm/lib                 rpmds.c
    rpm/rpmdb               rpmevr.c

  Log:
    fix regression introduced in previous commit

  Summary:
    Revision    Changes     Path
    2.167.2.17  +4  -3      rpm/lib/rpmds.c
    1.36.2.5    +4  -3      rpm/rpmdb/rpmevr.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmds.c
  ============================================================================
  $ cvs diff -u -r2.167.2.16 -r2.167.2.17 rpmds.c
  --- rpm/lib/rpmds.c   12 Jul 2011 10:45:03 -0000      2.167.2.16
  +++ rpm/lib/rpmds.c   13 Jul 2011 14:50:20 -0000      2.167.2.17
  @@ -4333,9 +4333,10 @@
           case 'D':    ix = RPMEVR_D;  /*@switchbreak@*/break;
           }
   #if defined(RPM_VENDOR_MANDRIVA) /* mdvbz#55810 */
  -     if(ix == RPMEVR_R && (bFlags & (~RPMSENSE_GREATER & RPMSENSE_EQUAL))
  -                             && *(b->F[ix]) == '\0')
  -                         break;
  +     if(ix >= RPMEVR_R && (bFlags & (~RPMSENSE_GREATER & RPMSENSE_EQUAL))
  +                     && !(ix == RPMEVR_D && (bFlags & RPMSENSE_LESS))
  +                     && *(b->F[ix]) == '\0')
  +             break;
        if (a->F[ix] && b->F[ix])
   #else
        if (a->F[ix] && *a->F[ix] && b->F[ix] && *b->F[ix])
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmdb/rpmevr.c
  ============================================================================
  $ cvs diff -u -r1.36.2.4 -r1.36.2.5 rpmevr.c
  --- rpm/rpmdb/rpmevr.c        12 Jul 2011 10:45:04 -0000      1.36.2.4
  +++ rpm/rpmdb/rpmevr.c        13 Jul 2011 14:50:20 -0000      1.36.2.5
  @@ -286,9 +286,10 @@
        case 'D':       ix = RPMEVR_D;  /*@switchbreak@*/break;
        }
   #if defined(RPM_VENDOR_MANDRIVA) /* mdvbz#55810 */
  -     if(ix == RPMEVR_R && (b->Flags & (~RPMSENSE_GREATER & RPMSENSE_EQUAL))
  -                             && *(b->F[ix]) == '\0')
  -                         break;
  +     if(ix >= RPMEVR_R && (b->Flags & (~RPMSENSE_GREATER & RPMSENSE_EQUAL))
  +                     && !(ix == RPMEVR_D && (b->Flags & RPMSENSE_LESS))
  +                     && *(b->F[ix]) == '\0')
  +             break;
   #endif
   
        rc = compare_values(a->F[ix], b->F[ix]);
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to