mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-14 00:35:01 +00:00
Fix a bug in cl_setenv on Windows XP
This commit is contained in:
parent
0ccfc63bd6
commit
e068f2bb71
@ -89,7 +89,11 @@ int cl_setenv(const char *name, const char *value)
|
|||||||
if (value != NULL)
|
if (value != NULL)
|
||||||
git__utf8_to_16(value_utf16, GIT_WIN_PATH, value);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user