[PATCH 1/3] kernelbase: Preserve last error when GetEnvironmentVariableA succeeds.
Alexandre Julliard
julliard at winehq.org
Thu May 14 12:46:36 CDT 2020
Gijs Vermeulen <gijsvrm at gmail.com> writes:
> From: Vladimir Panteleev <git at vladimir.panteleev.md>
>
> Avoid clobbering last error with NO_ERROR when GetEnvironmentVariableA
> succeeds, matching the behavior of GetEnvironmentVariableW and
> Windows.
>
> Instead of naively saving and restoring the last error, call
> RtlQueryEnvironmentVariable_U directly to avoid unnecessarily setting
> it in the first place.
>
> Signed-off-by: Vladimir Panteleev <git at vladimir.panteleev.md>
> Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
> ---
> dlls/kernel32/tests/environ.c | 8 ++++----
> dlls/kernelbase/process.c | 30 +++++++++++++++++++-----------
> 2 files changed, 23 insertions(+), 15 deletions(-)
This is breaking a number of tests, for instance:
../../../tools/runtest -q -P wine -T ../../.. -M advapi32.dll -p advapi32_test.exe security && touch security.ok
security.c:2112: Tests skipped: Well known SID 38 not implemented
security.c:2112: Tests skipped: Well known SID 39 not implemented
security.c:2112: Tests skipped: Well known SID 40 not implemented
security.c:2112: Tests skipped: Well known SID 41 not implemented
security.c:2112: Tests skipped: Well known SID 42 not implemented
security.c:2112: Tests skipped: Well known SID 43 not implemented
security.c:2112: Tests skipped: Well known SID 44 not implemented
security.c:2112: Tests skipped: Well known SID 45 not implemented
security.c:2112: Tests skipped: Well known SID 46 not implemented
security.c:2112: Tests skipped: Well known SID 47 not implemented
security.c:2112: Tests skipped: Well known SID 48 not implemented
security.c:2112: Tests skipped: Well known SID 49 not implemented
security.c:2112: Tests skipped: Well known SID 50 not implemented
security.c:2112: Tests skipped: Well known SID 62 not implemented
security.c:2112: Tests skipped: Well known SID 63 not implemented
security.c:2112: Tests skipped: Well known SID 64 not implemented
security.c:2112: Tests skipped: Well known SID 65 not implemented
security.c:2112: Tests skipped: Well known SID 70 not implemented
security.c:2112: Tests skipped: Well known SID 72 not implemented
security.c:2112: Tests skipped: Well known SID 73 not implemented
security.c:2112: Tests skipped: Well known SID 74 not implemented
security.c:2112: Tests skipped: Well known SID 75 not implemented
security.c:2112: Tests skipped: Well known SID 76 not implemented
security.c:2112: Tests skipped: Well known SID 77 not implemented
security.c:2112: Tests skipped: Well known SID 78 not implemented
security.c:2112: Tests skipped: Well known SID 79 not implemented
security.c:2112: Tests skipped: Well known SID 81 not implemented
security.c:2112: Tests skipped: Well known SID 82 not implemented
security.c:5060: Test failed: Last error was 3735928559
security.c:5067: Test failed: Last error was 3735928559
security.c:5091: Test failed: Last error was 3735928559
security.c:5112: Test failed: Last error was 3735928559
make: *** [Makefile:422: security.ok] Error 4
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list