diff options
Diffstat (limited to 'win32/win32.c')
-rw-r--r-- | win32/win32.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/win32/win32.c b/win32/win32.c index ce13650cfd..99199c95af 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -372,19 +372,16 @@ init_env(void) SetEnvironmentVariable("HOME", env); } } - if (GetEnvironmentVariable("USER", env, sizeof env)) { - len = strlen(env); - } - if (GetEnvironmentVariable("USERNAME", env, sizeof env)) { - len = strlen(env); - SetEnvironmentVariable("USER", env); - } - else if (GetUserName(env, (len = sizeof env, &len))) { - SetEnvironmentVariable("USER", env); - } - else { - NTLoginName = "<Unknown>"; - return; + + if (!GetEnvironmentVariable("USER", env, sizeof env)) { + if (GetEnvironmentVariable("USERNAME", env, sizeof env) || + GetUserName(env, (len = sizeof env, &len))) { + SetEnvironmentVariable("USER", env); + } + else { + NTLoginName = "<Unknown>"; + return; + } } NTLoginName = strdup(env); } |