From c077aaf11689586a4a961c2f9349cd04998bca6a Mon Sep 17 00:00:00 2001
From: Hans Leidekker <hans@it.vu.nl>
Date: Mon, 5 Jun 2006 12:54:20 +0200
Subject: [PATCH] msi: Fix some copy/paste bugs in the implementation of
 condition operators.

---
 dlls/msi/cond.y | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/dlls/msi/cond.y b/dlls/msi/cond.y
index b32c4171316..031c489f5fc 100644
--- a/dlls/msi/cond.y
+++ b/dlls/msi/cond.y
@@ -463,7 +463,7 @@ static INT compare_int( INT a, INT operator, INT b )
         return a >= b;
     case COND_LE:
     case COND_ILE:
-        return a >= b;
+        return a <= b;
     case COND_SS:
     case COND_ISS:
         return ( a & b ) ? 1 : 0;
@@ -492,21 +492,21 @@ static int COND_GetOperator( COND_input *cond )
         int id;
     } table[] = {
         { {'~','=',0},     COND_IEQ },
-        { {'~','>','=',0}, COND_ILE },
+        { {'~','<','=',0}, COND_ILE },
         { {'~','>','<',0}, COND_ISS },
         { {'~','>','>',0}, COND_IRHS },
-        { {'~','>',0},     COND_ILT },
         { {'~','<','>',0}, COND_INE },
-        { {'~','<','=',0}, COND_IGE },
+        { {'~','<',0},     COND_ILT },
+        { {'~','>','=',0}, COND_IGE },
         { {'~','<','<',0}, COND_ILHS },
-        { {'~','<',0},     COND_IGT },
+        { {'~','>',0},     COND_IGT },
         { {'>','=',0},     COND_GE  },
         { {'>','<',0},     COND_SS  },
-        { {'>','>',0},     COND_LHS },
+        { {'<','<',0},     COND_LHS },
         { {'>',0},         COND_GT  },
         { {'<','>',0},     COND_NE  },
         { {'<','=',0},     COND_LE  },
-        { {'<','<',0},     COND_RHS },
+        { {'>','>',0},     COND_RHS },
         { {'<',0},         COND_LT  },
         { {0},             0        }
     };
-- 
2.24.1