Commit d11968ca authored by James Hawkins's avatar James Hawkins Committed by Alexandre Julliard

msi: Fix a few file access discrepancies between platforms.

parent 5c05e6c8
......@@ -7726,65 +7726,66 @@ struct access_res
{
BOOL gothandle;
DWORD lasterr;
BOOL ignore;
};
static const struct access_res create[16] =
{
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ TRUE, ERROR_SUCCESS },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ TRUE, ERROR_SUCCESS },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ TRUE, ERROR_SUCCESS }
{ TRUE, ERROR_SUCCESS, TRUE },
{ TRUE, ERROR_SUCCESS, TRUE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ TRUE, ERROR_SUCCESS, TRUE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ TRUE, ERROR_SUCCESS, TRUE }
};
static const struct access_res create_commit[16] =
{
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ TRUE, ERROR_SUCCESS },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ TRUE, ERROR_SUCCESS },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ FALSE, ERROR_SHARING_VIOLATION },
{ TRUE, ERROR_SUCCESS }
{ TRUE, ERROR_SUCCESS, TRUE },
{ TRUE, ERROR_SUCCESS, TRUE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ TRUE, ERROR_SUCCESS, TRUE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ FALSE, ERROR_SHARING_VIOLATION, FALSE },
{ TRUE, ERROR_SUCCESS, TRUE }
};
static const struct access_res create_close[16] =
{
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS, FALSE },
{ TRUE, ERROR_SUCCESS }
};
......@@ -7804,6 +7805,9 @@ static void _test_file_access(LPCSTR file, const struct access_res *ares, DWORD
for (j = 0; j < 4; j++)
{
if (ares[idx].ignore)
continue;
if (j == 0) share = 0;
if (j == 1) share = FILE_SHARE_READ;
if (j == 2) share = FILE_SHARE_WRITE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment