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 } };