Fix ShellExecuteW comment

ShellExecuteW long path behaviour is now stable: It doesn't work since
Windows 8.1.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2016-10-24 11:23:55 +02:00
parent bb7ad4ed64
commit 11b7f94212

View File

@ -1704,10 +1704,9 @@ symlink_native (const char *oldpath, path_conv &win32_newpath)
to Win32 paths. */ to Win32 paths. */
if (final_oldpath->Buffer[0] == L'\\') if (final_oldpath->Buffer[0] == L'\\')
{ {
/* Workaround Windows 8.1 bug. On Windows 8.1, the ShellExecuteW /* Starting with Windows 8.1, the ShellExecuteW function does not
function does not handle the long path prefix correctly for symlink handle the long path prefix correctly for symlink targets. Thus,
targets. Thus, we create simple short paths < MAX_PATH without we create simple short paths < MAX_PATH without long path prefix. */
long path prefix. */
if (RtlEqualUnicodePathPrefix (final_oldpath, &ro_u_uncp, TRUE) if (RtlEqualUnicodePathPrefix (final_oldpath, &ro_u_uncp, TRUE)
&& final_oldpath->Length < (MAX_PATH + 6) * sizeof (WCHAR)) && final_oldpath->Length < (MAX_PATH + 6) * sizeof (WCHAR))
{ {