Changeset 21441 for trunk/src


Ignore:
Timestamp:
Sep 5, 2010, 8:46:20 PM (15 years ago)
Author:
dmik
Message:

advapi32: Use the "USER" environment variable for detecting the user name in GetUserName().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/advapi32/ADVAPI32.CPP

    r7983 r21441  
    7575}
    7676
     77#define UNKNOWN_USERNAME "unknown"
     78
    7779//******************************************************************************
    7880/* The GetUserName function retrieves the user name of the current
     
    8688{
    8789    dprintf(("GetUserNameA %x %x %x", lpBuffer, lpcchBuffer, *lpcchBuffer));
    88     #define USERNAME "USER"
    89     if(*lpcchBuffer < sizeof(USERNAME))
     90    char *user = getenv("USER");
     91    if (user == NULL || *user == '\0')
     92        user = UNKNOWN_USERNAME;
     93    if(*lpcchBuffer < strlen(user) + 1)
    9094        return FALSE;
    91     strcpy(lpBuffer, USERNAME);
     95    strcpy(lpBuffer, user);
    9296    return TRUE;
    9397}
     
    96100BOOL WIN32API GetUserNameW( /*KSO Thu 21.05.1998 */
    97101   LPWSTR lpBuffer,
    98    LPDWORD lpccBuffer
     102   LPDWORD lpcchBuffer
    99103   )
    100104{
    101 
    102    if ( *lpccBuffer >= sizeof(USERNAME)*2 )
    103    {
    104       AsciiToUnicode(USERNAME, lpBuffer);
    105       return TRUE;
    106    }
    107       return FALSE;
     105    dprintf(("GetUserNameW %x %x %x", lpBuffer, lpcchBuffer, *lpcchBuffer));
     106    char *user = getenv("USER");
     107    if (user == NULL || *user == '\0')
     108        user = UNKNOWN_USERNAME;
     109    if (*lpcchBuffer < (strlen(user) + 1) * 2)
     110        return FALSE;
     111    AsciiToUnicode(user, lpBuffer);
     112    return TRUE;
    108113}
    109114//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.