Commit fd044802 authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard

userenv: Fix setting the ALLUSERSPROFILE environment variable.

Since 27edd4e3 ALLUSERSPROFILE is set to C:\\users\\C:\\users\\Public. This is because the expanded registry value of "Public" is appended to "ProfilesDirectory" and "Public" expands to a full path. AllUsersProfile, used before this commit, expanded to just "Public". Signed-off-by: 's avatarHans Leidekker <hans@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent a37d8a20
......@@ -244,7 +244,7 @@ BOOL WINAPI CreateEnvironmentBlock( LPVOID* lpEnvironment,
static const WCHAR SystemRootW[] = {'S','y','s','t','e','m','R','o','o','t',0};
static const WCHAR SystemDriveW[] = {'S','y','s','t','e','m','D','r','i','v','e',0};
static const WCHAR AllUsersProfileW[] = {'P','u','b','l','i','c',0};
static const WCHAR PublicW[] = {'P','u','b','l','i','c',0};
static const WCHAR ALLUSERSPROFILEW[] = {'A','L','L','U','S','E','R','S','P','R','O','F','I','L','E',0};
static const WCHAR USERNAMEW[] = {'U','S','E','R','N','A','M','E',0};
static const WCHAR USERPROFILEW[] = {'U','S','E','R','P','R','O','F','I','L','E',0};
......@@ -323,8 +323,7 @@ BOOL WINAPI CreateEnvironmentBlock( LPVOID* lpEnvironment,
profiles_dir[len] = '\0';
}
memcpy(buf, profiles_dir, len*sizeof(WCHAR));
if (get_reg_value(env, hkey, AllUsersProfileW, buf+len, UNICODE_STRING_MAX_CHARS-len))
if (get_reg_value(env, hkey, PublicW, buf, UNICODE_STRING_MAX_CHARS))
{
RtlInitUnicodeString(&us_name, ALLUSERSPROFILEW);
RtlInitUnicodeString(&us_val, buf);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment