summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_disk_file.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2007-07-31 15:20:00 +0000
committerCorinna Vinschen <corinna@vinschen.de>2007-07-31 15:20:00 +0000
commit9235f3ead1cc91bd1a864ecf635717823f1da610 (patch)
tree4b7ffdaf98112e1f9715805b01c00d5e1b185daf /winsup/cygwin/fhandler_disk_file.cc
parent378692ee42bb29280c439600832e84a0ddb7471a (diff)
downloadcygnal-9235f3ead1cc91bd1a864ecf635717823f1da610.tar.gz
cygnal-9235f3ead1cc91bd1a864ecf635717823f1da610.tar.bz2
cygnal-9235f3ead1cc91bd1a864ecf635717823f1da610.zip
* fhandler_disk_file.cc (fhandler_disk_file::link): Revert to checking
for binary in case of .exe files. * ntdll.h (RtlPrefixUnicodeString): Declare. * path.cc (path_conv::is_binary): New method. * path.h (path_conv::is_binary): Declare. * syscalls.cc (rename_append_suffix): New static helper function for rename. (rename): Rewrite. New suffix tests. Use native NT functions.
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index a5a7c4b53..5df3c9945 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -1084,8 +1084,7 @@ fhandler_disk_file::link (const char *newpath)
newpc.check (newpath, PC_SYM_NOFOLLOW);
}
else if (!pc.isdir ()
- && RtlEqualUnicodePathSuffix (pc.get_nt_native_path (),
- L".exe", TRUE)
+ && pc.is_binary ()
&& !RtlEqualUnicodePathSuffix (newpc.get_nt_native_path (),
L".exe", TRUE))
{