Piotr Caban (@piotr) commented about dlls/msvcrt/tests/environ.c:
+ equal = strchr( new_first, '=' ); + if (equal) + { + BOOL ret; + const char* new_value; + size_t new_value_len; + + *equal = '\0'; + new_first[len] = 'B'; + ret = SetEnvironmentVariableA( new_first, equal + 1 ); + ok(ret, "SetEnvironmentVariableA failed: %lu\n", GetLastError()); + new_value = getenv(new_first); + new_value_len = strlen(new_value); + ok(!strcmp(&new_value[new_value_len - 1], "A"), "_environ[] shouldn't have been updated\n"); + *equal = '='; + } Please add this test in a separate patch. Also please move it to `test_environment_manipulation` function. It would be also nice to change the test so it fails in current wine, I guess that something like:
ret = SetEnvironmentVariableA("cat", "test");
ok(ret, ...);
_putenv("dog", "test");
val = getenv("cat");
ok(!val, ...);
should fail. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4313#note_51312