mirror of
https://github.com/libgit2/libgit2.git
synced 2026-01-25 11:06:32 +00:00
Fix a bug in cl_setenv on Windows XP
This commit is contained in:
@@ -89,7 +89,11 @@ int cl_setenv(const char *name, const char *value)
|
||||
if (value != NULL)
|
||||
git__utf8_to_16(value_utf16, GIT_WIN_PATH, value);
|
||||
|
||||
cl_assert(SetEnvironmentVariableW(name_utf16, value ? value_utf16 : NULL));
|
||||
/* Windows XP returns 0 (failed) when passing NULL for lpValue when lpName
|
||||
* does not exist in the environment block. This behavior seems to have changed
|
||||
* in later versions. Don't fail when SetEnvironmentVariable fails, if we passed
|
||||
* NULL for lpValue. */
|
||||
cl_assert(SetEnvironmentVariableW(name_utf16, value ? value_utf16 : NULL) || !value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user