Transform the name of the temp dir on Windows with GetLongPathName.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_3_X@9833 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Angus Leeming 2005-04-19 12:29:25 +00:00
parent b5fd3b6d0d
commit 0dd3145347

View File

@ -35,6 +35,24 @@
#if defined (USE_WINDOWS_PACKAGING)
/*
* MinGW's version of winver.h contains this comment:
*
* If you need Win32 API features newer the Win95 and WinNT then you must
* define WINVER before including windows.h or any other method of including
* the windef.h header.
*
* GetLongPathNameA requires WINVER == 0x0500.
*
* It doesn't matter if the Windows version is older than this because the
* function will compile but will fail at run time. See
* http://msdn.microsoft.com/library/en-us/mslu/winprog/microsoft_layer_for_unicode_apis_with_limited_support.asp
*/
# if defined(__MINGW32__)
# define WINVER 0x0500
# endif
# include <windows.h>
# include <shlobj.h> // SHGetFolderPath
@ -299,6 +317,7 @@ string const get_temp_dir()
// Typical example: C:/TEMP/.
char path[PATH_MAX + 1];
GetTempPath(PATH_MAX, path);
GetLongPathName(path, path, PATH_MAX + 1);
return os::internal_path(path);
#else // Posix-like.
return "/tmp";