rules/selection: use strrchr in EVR checks as well
authorMichael Schroeder <mls@suse.de>
Wed, 17 Apr 2013 13:52:21 +0000 (15:52 +0200)
committerMichael Schroeder <mls@suse.de>
Wed, 17 Apr 2013 13:52:21 +0000 (15:52 +0200)
src/rules.c
src/selection.c

index 9307394..b191268 100644 (file)
@@ -1608,7 +1608,7 @@ jobtodisablelist(Solver *solv, Id how, Id what, Queue *q)
                {
                  if (pool->disttype != DISTTYPE_DEB)
                    {
-                     const char *rel = strchr(pool_id2str(pool, rd->evr), '-');
+                     const char *rel = strrchr(pool_id2str(pool, rd->evr), '-');
                      if (rel && pool->disttype == DISTTYPE_HAIKU && (rel[1] < '0' || rel[1] > '9'))
                        rel = 0;
                      set |= rel ? SOLVER_SETEVR : SOLVER_SETEV;
index 2b9d434..df09b5f 100644 (file)
@@ -218,7 +218,7 @@ selection_filter_rel(Pool *pool, Queue *selection, Id relflags, Id relevr)
             selection->elements[i] |= SOLVER_SETEVR;   /* debian can't match version only like rpm */
          else
            {
-             const char *rel =  strchr(pool_id2str(pool, relevr), '-');
+             const char *rel =  strrchr(pool_id2str(pool, relevr), '-');
              if (rel && pool->disttype == DISTTYPE_HAIKU && (rel[1] < '0' || rel[1] > '9'))
                rel = 0;
              selection->elements[i] |= rel ? SOLVER_SETEVR : SOLVER_SETEV;