diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2004-04-30 17:36:36 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2004-04-30 17:36:36 +0000 |
commit | 43b2d5bace17cc901af345c530ee617f530500f1 (patch) | |
tree | a4c58d66a6c55bcfc55c51c46667382c444505a3 /winsup/cygwin/fhandler.cc | |
parent | ed8dd3c858ab4fa231d168e21909a8240e56e9c0 (diff) | |
download | cygnal-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.cc | 22 |
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 ()) |