* fhandler_disk_file.cc (fhandler_disk_file::link): Only add .exe if

original file has .exe as well.
	* path.cc (path_conv::is_binary): Only recognize Windows 32 and 64 bit
	apps as binaries.
This commit is contained in:
Corinna Vinschen 2009-01-07 14:12:40 +00:00
parent 49a0cd95c0
commit 3bee7767a8
3 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2009-01-07 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (fhandler_disk_file::link): Only add .exe if
original file has .exe as well.
* path.cc (path_conv::is_binary): Only recognize Windows 32 and 64 bit
apps as binaries.
2009-01-02 Christopher Faylor <me+cygwin@cgf.cx>
Remove unneeded header files from source files throughout.

View File

@ -1153,6 +1153,8 @@ fhandler_disk_file::link (const char *newpath)
}
else if (!pc.isdir ()
&& pc.is_binary ()
&& RtlEqualUnicodePathSuffix (pc.get_nt_native_path (),
L".exe", TRUE)
&& !RtlEqualUnicodePathSuffix (newpc.get_nt_native_path (),
L".exe", TRUE))
{

View File

@ -1116,7 +1116,8 @@ path_conv::is_binary ()
PWCHAR bintest = tp.w_get ();
DWORD bin;
return GetBinaryTypeW (get_wide_win32_path (bintest), &bin);
return GetBinaryTypeW (get_wide_win32_path (bintest), &bin)
&& (bin == SCS_32BIT_BINARY || bin == SCS_64BIT_BINARY);
}
/* Normalize a Win32 path.