Piotr Caban (@piotr) commented about dlls/msvcrt/tests/environ.c:
+ const wchar_t *uppercase_wenv = _wgetenv(L"APPDATA"); + const wchar_t *lowercase_wenv = _wgetenv(L"appdata"); + char *bar; + wchar_t *foo; + ok (uppercase_env == lowercase_env, "getenv() must be case insensitive, %p should be %p\n", + lowercase_env, uppercase_env); + ok (uppercase_wenv == lowercase_wenv, "_wgetenv() must be case insensitive, %p should be %p\n", + lowercase_wenv, uppercase_wenv); + ok (!_putenv_s("fOo", "bar"), "Failed to set FOO=bar\n"); + ok (!p_wputenv_s(L"BaR", L"foo"), "Failed to set BAR=foo\n"); + ok (!_putenv_s("FOO", "BAR"), "Failed to set FOO=BAR\n"); + ok (!p_wputenv_s(L"BAR", L"FOO"), "Failed to set BAR=FOO\n"); + foo = _wgetenv(L"BaR"); + bar = getenv("fOo"); + ok (!strnicmp(bar, "BAR", strlen(bar)), "_putenv_s() must be case insensitive\n"); + ok (!_wcsnicmp(foo, L"FOO", wcslen(foo)), "_wputenv_s() must be case insensitive\n"); It's better to avoid _putenv_s function since it may be unavailable in older versions of msvcrt. I have also used strcmp/wcscmp to compare environment variable value since this part is case sensitive. I have also added some white-space changes and cleaned up the environment after the test.
```suggestion:-17+0 const char *uppercase_env = getenv("APPDATA"); const char *lowercase_env = getenv("appdata"); const wchar_t *uppercase_wenv = _wgetenv(L"APPDATA"); const wchar_t *lowercase_wenv = _wgetenv(L"appdata"); ok( uppercase_env == lowercase_env, "getenv() must be case insensitive, %p should be %p\n", lowercase_env, uppercase_env ); ok( uppercase_wenv == lowercase_wenv, "_wgetenv() must be case insensitive, %p should be %p\n", lowercase_wenv, uppercase_wenv ); ok( !_putenv("cAt=bar"), "Failed to set CAT=bar\n" ); ok( !_putenv("CAT=BAR"), "Failed to set CAT=BAR\n" ); ok( !strcmp(getenv("cAt"), "BAR"), "_putenv() must be case insensitive\n" ); ok( !_wputenv(L"cAt=bar"), "Failed to set CAT=bar\n" ); ok( !_wputenv_s(L"CAT=BAR"), "Failed to set CAT=BAR\n" ); ok( !wcscmp(_wgetenv(L"cAt"), L"BAR"), "_wputenv() must be case insensitive\n" ); _putenv("cat="); ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4774#note_56623