summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2004-04-30 17:36:36 +0000
committerCorinna Vinschen <corinna@vinschen.de>2004-04-30 17:36:36 +0000
commit43b2d5bace17cc901af345c530ee617f530500f1 (patch)
treea4c58d66a6c55bcfc55c51c46667382c444505a3 /winsup/cygwin/fhandler.cc
parented8dd3c858ab4fa231d168e21909a8240e56e9c0 (diff)
downloadcygnal-43b2d5bace17cc901af345c530ee617f530500f1.tar.gz
cygnal-43b2d5bace17cc901af345c530ee617f530500f1.tar.bz2
cygnal-43b2d5bace17cc901af345c530ee617f530500f1.zip
* fhandler.cc (fhandler_base::open): Call path_conv::get_nt_native_path
for evaluating NT path. * path.cc (normalize_posix_path): Remove trailing dots and spaces. (path_conv::get_nt_native_path): New function. * path.h (class path_conv): Declare get_nt_native_path method.
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r--winsup/cygwin/fhandler.cc22
1 files changed, 2 insertions, 20 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index 2dc3eece0..ae9bd8a04 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -555,26 +555,8 @@ fhandler_base::open (int flags, mode_t mode)
goto done;
}
- if (get_win32_name ()[0] != '\\') /* X:\... or NUL, etc. */
- {
- str2buf2uni (upath, wpath, "\\??\\");
- str2buf2uni_cat (upath, get_win32_name ());
- }
- else if (get_win32_name ()[1] != '\\') /* \Device\... */
- str2buf2uni (upath, wpath, get_win32_name ());
- else if (get_win32_name ()[2] != '.'
- || get_win32_name ()[3] != '\\') /* \\server\share\... */
- {
- str2buf2uni (upath, wpath, "\\??\\UNC\\");
- str2buf2uni_cat (upath, get_win32_name () + 2);
- }
- else /* \\.\device */
- {
- str2buf2uni (upath, wpath, "\\??\\");
- str2buf2uni_cat (upath, get_win32_name () + 4);
- }
-
- InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE | OBJ_INHERIT,
+ InitializeObjectAttributes (&attr, pc.get_nt_native_path (upath, wpath),
+ OBJ_CASE_INSENSITIVE | OBJ_INHERIT,
sa.lpSecurityDescriptor, NULL);
switch (query_open ())