From 714a13a117d53d98769d224193a2115aff9ae7ea Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 8 Oct 2015 16:29:24 +0200 Subject: Fix satisfy() some more --- bpkg/satisfaction.cxx | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'bpkg/satisfaction.cxx') diff --git a/bpkg/satisfaction.cxx b/bpkg/satisfaction.cxx index d3ba789..af531f4 100644 --- a/bpkg/satisfaction.cxx +++ b/bpkg/satisfaction.cxx @@ -47,15 +47,22 @@ namespace bpkg { case op::eq: // == { - return ro == op::eq && lv == rv; + switch (ro) + { + case op::eq: return lv == rv; + case op::lt: return lv < rv; + case op::le: return lv <= rv; + case op::gt: return lv > rv; + case op::ge: return lv >= rv; + } } case op::lt: // < { switch (ro) { - case op::eq: return lv < rv; case op::lt: return lv <= rv; case op::le: return lv < rv; + case op::eq: case op::gt: case op::ge: return false; } @@ -64,9 +71,9 @@ namespace bpkg { switch (ro) { - case op::eq: return lv <= rv; case op::lt: return lv < rv; case op::le: return lv <= rv; + case op::eq: case op::gt: case op::ge: return false; } @@ -75,22 +82,22 @@ namespace bpkg { switch (ro) { - case op::eq: return lv > rv; - case op::lt: - case op::le: return false; case op::gt: return lv >= rv; case op::ge: return lv > rv; + case op::eq: + case op::lt: + case op::le: return false; } } case op::ge: // >= { switch (ro) { - case op::eq: return lv >= rv; - case op::lt: - case op::le: return false; case op::gt: return lv > rv; case op::ge: return lv >= rv; + case op::eq: + case op::lt: + case op::le: return false; } } } -- cgit v1.1