kernel32: Don't set last error on success in OpenConsoleW.

This commit is contained in:
Andrew Nguyen 2010-03-31 18:54:07 -06:00 committed by Alexandre Julliard
parent b7bf2abdff
commit 39208d4d60
2 changed files with 19 additions and 1 deletions

View file

@ -307,7 +307,6 @@ HANDLE WINAPI OpenConsoleW(LPCWSTR name, DWORD access, BOOL inherit, DWORD creat
req->access = access;
req->attributes = inherit ? OBJ_INHERIT : 0;
req->share = FILE_SHARE_READ | FILE_SHARE_WRITE;
SetLastError(0);
wine_server_call_err( req );
ret = wine_server_ptr_handle( reply->handle );
}

View file

@ -1062,6 +1062,25 @@ static void test_OpenConsoleW(void)
"Expected GetLastError() to return %u for index %d, got %u\n",
invalid_table[index].gle, index, GetLastError());
}
/* OpenConsoleW should not touch the last error on success. */
SetLastError(0xdeadbeef);
ret = pOpenConsoleW(coninW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_EXISTING);
ok(ret != INVALID_HANDLE_VALUE,
"Expected OpenConsoleW to return a valid handle\n");
ok(GetLastError() == 0xdeadbeef,
"Expected the last error to be untouched, got %u\n", GetLastError());
if (ret != INVALID_HANDLE_VALUE)
CloseHandle(ret);
SetLastError(0xdeadbeef);
ret = pOpenConsoleW(conoutW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_EXISTING);
ok(ret != INVALID_HANDLE_VALUE,
"Expected OpenConsoleW to return a valid handle\n");
ok(GetLastError() == 0xdeadbeef,
"Expected the last error to be untouched, got %u\n", GetLastError());
if (ret != INVALID_HANDLE_VALUE)
CloseHandle(ret);
}
START_TEST(console)