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:07
  Branch: rpm-5_4                          Handle: 2011071314500601

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

  Log:
    fix regression introduced in previous commit

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

  patch -p0 <<'@@ .'
  Index: rpm/lib/rpmds.c
  ============================================================================
  $ cvs diff -u -r2.170.2.10 -r2.170.2.11 rpmds.c
  --- rpm/lib/rpmds.c   12 Jul 2011 10:44:05 -0000      2.170.2.10
  +++ rpm/lib/rpmds.c   13 Jul 2011 14:50:06 -0000      2.170.2.11
  @@ -4065,9 +4065,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.37.2.3 -r1.37.2.4 rpmevr.c
  --- rpm/rpmdb/rpmevr.c        12 Jul 2011 10:44:05 -0000      1.37.2.3
  +++ rpm/rpmdb/rpmevr.c        13 Jul 2011 14:50:07 -0000      1.37.2.4
  @@ -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