Fix GetTempDrive behaviour.
This commit is contained in:
parent
e1e2a42ce6
commit
3dbc7881ea
|
@ -193,10 +193,18 @@ UINT32 DIR_GetSystemUnixDir( LPSTR path, UINT32 count )
|
||||||
*/
|
*/
|
||||||
BYTE WINAPI GetTempDrive( BYTE ignored )
|
BYTE WINAPI GetTempDrive( BYTE ignored )
|
||||||
{
|
{
|
||||||
char buffer[2];
|
char *buffer;
|
||||||
|
BYTE ret;
|
||||||
|
UINT32 len = GetTempPath32A( 0, NULL );
|
||||||
|
|
||||||
|
if (!(buffer = HeapAlloc( GetProcessHeap(), 0, len + 1 )) )
|
||||||
|
return DRIVE_GetCurrentDrive() + 'A';
|
||||||
|
|
||||||
/* FIXME: apparently Windows does something with the ignored byte */
|
/* FIXME: apparently Windows does something with the ignored byte */
|
||||||
if (!GetTempPath32A( sizeof(buffer), buffer )) buffer[0] = 'C';
|
if (!GetTempPath32A( len, buffer )) buffer[0] = 'C';
|
||||||
return toupper(buffer[0]);
|
ret = buffer[0];
|
||||||
|
HeapFree( GetProcessHeap(), 0, buffer );
|
||||||
|
return toupper(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue