msi: Fix logical expressions that always evaluate to FALSE
Hans Leidekker
hans at codeweavers.com
Mon Dec 10 02:11:35 CST 2012
On Sat, 2012-12-08 at 21:59 +0000, Andrew Talbot wrote:
> diff --git a/dlls/msi/action.c b/dlls/msi/action.c
> index 076d1b3..677a43f 100644
> --- a/dlls/msi/action.c
> +++ b/dlls/msi/action.c
> @@ -6763,7 +6763,7 @@ static UINT ACTION_RemoveODBC( MSIPACKAGE *package )
> #define ENV_MOD_PREFIX 0x80000000
> #define ENV_MOD_MASK 0xC0000000
>
> -#define check_flag_combo(x, y) ((x) & ~(y)) == (y)
> +#define check_flag_combo(x, y) ((x) & (y)) == (y)
>
> static UINT env_parse_flags( LPCWSTR *name, LPCWSTR *value, DWORD *flags )
> {
It makes the tests fail here:
err:msi:env_parse_flags Invalid flags: 00000007
err:msi:ITERATE_Actions Execution halted, action L"RemoveEnvironmentStrings" returned 1627
err:msi:env_parse_flags Invalid flags: 00000007
action.c:5899: Test failed: Expected ERROR_SUCCESS, got 1627
action.c:5905: Test failed: Expected ERROR_FILE_NOT_FOUND, got 0
action.c:5908: Test failed: Expected ERROR_FILE_NOT_FOUND, got 0
action.c:5920: Test failed: Expected ERROR_FILE_NOT_FOUND, got 0
I'd suggest to simply remove these checks.
More information about the wine-devel
mailing list