advapi32: Avoid slashes and backslashes in user names.
This commit is contained in:
parent
2d87a7bb7b
commit
ec636f151b
|
@ -84,7 +84,7 @@ BOOL WINAPI
|
||||||
GetUserNameW( LPWSTR lpszName, LPDWORD lpSize )
|
GetUserNameW( LPWSTR lpszName, LPDWORD lpSize )
|
||||||
{
|
{
|
||||||
const char *name = wine_get_user_name();
|
const char *name = wine_get_user_name();
|
||||||
DWORD len = MultiByteToWideChar( CP_UNIXCP, 0, name, -1, NULL, 0 );
|
DWORD i, len = MultiByteToWideChar( CP_UNIXCP, 0, name, -1, NULL, 0 );
|
||||||
|
|
||||||
if (len > *lpSize)
|
if (len > *lpSize)
|
||||||
{
|
{
|
||||||
|
@ -95,6 +95,12 @@ GetUserNameW( LPWSTR lpszName, LPDWORD lpSize )
|
||||||
|
|
||||||
*lpSize = len;
|
*lpSize = len;
|
||||||
MultiByteToWideChar( CP_UNIXCP, 0, name, -1, lpszName, len );
|
MultiByteToWideChar( CP_UNIXCP, 0, name, -1, lpszName, len );
|
||||||
|
|
||||||
|
/* Word uses the user name to create named mutexes and file mappings,
|
||||||
|
* and backslashes in the name cause the creation to fail.
|
||||||
|
*/
|
||||||
|
for (i = 0; lpszName[i]; i++)
|
||||||
|
if (lpszName[i] == '\\' || lpszName[i] == '/') lpszName[i] = '_';
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue