From a23f8579d37186559d3e1f6cd87a27b2331d4766 Mon Sep 17 00:00:00 2001 From: Heiko Hund Date: Wed, 7 Dec 2011 18:59:21 +0100 Subject: set Windows environment variables as UCS-2 Windows uses 16 bit wide characters to represent Unicode in the process environment. Convert UTF-8 to UCS-2 and use the wide character API to set environment variables. Signed-off-by: Heiko Hund --- misc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'misc.c') diff --git a/misc.c b/misc.c index 884f2b2..1aa1be4 100644 --- a/misc.c +++ b/misc.c @@ -1082,8 +1082,8 @@ setenv_str_ex (struct env_set *es, { #if defined(WIN32) { - /*msg (M_INFO, "SetEnvironmentVariable '%s' '%s'", name_tmp, val_tmp ? val_tmp : "NULL");*/ - if (!SetEnvironmentVariable (name_tmp, val_tmp)) + if (!SetEnvironmentVariableW (wide_string (name_tmp, &gc), + wide_string (val_tmp, &gc))) msg (M_WARN | M_ERRNO, "SetEnvironmentVariable failed, name='%s', value='%s'", name_tmp, val_tmp ? val_tmp : "NULL"); -- cgit