Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-01-07 17:12:40 +0300
committerCorinna Vinschen <corinna@vinschen.de>2009-01-07 17:12:40 +0300
commit3bee7767a8437f9e555791c0fa01d97cf48bc35b (patch)
tree53abba6267654b346f891f7f8c6af61ef9aadcf8 /winsup
parent49a0cd95c02f96b40534639e35db3b0a2d263b3d (diff)
* 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.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc2
-rw-r--r--winsup/cygwin/path.cc3
3 files changed, 11 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c80307170..2faa2e514 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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.
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index 15ad76fc0..2ad72b749 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -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))
{
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index f44650a4a..da96cde01 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -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.