From 87e6b0981fb71b37e3672a728eb7961baaec9c68 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 22 Feb 2001 11:06:25 +0000 Subject: [PATCH] * fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when resolving real_path. * path.cc (symlink): Ditto for win32_topath. --- winsup/cygwin/ChangeLog | 6 ++++++ winsup/cygwin/fhandler.cc | 4 +++- winsup/cygwin/path.cc | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 13a5cf15f..c1521a55f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +Thu Feb 22 12:04:00 2001 Corinna Vinschen + + * fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when + resolving real_path. + * path.cc (symlink): Ditto for win32_topath. + Wed Feb 21 22:41:00 2001 Corinna Vinschen * Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll. diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc index 40aa50849..b7ec79b34 100644 --- a/winsup/cygwin/fhandler.cc +++ b/winsup/cygwin/fhandler.cc @@ -1199,11 +1199,13 @@ fhandler_disk_file::fhandler_disk_file (const char *name) : int fhandler_disk_file::open (const char *path, int flags, mode_t mode) { + extern suffix_info inner_suffixes[]; + syscall_printf ("(%s, %p)", path, flags); /* O_NOSYMLINK is an internal flag for implementing lstat, nothing more. */ path_conv real_path (path, (flags & O_NOSYMLINK) ? - PC_SYM_NOFOLLOW : PC_SYM_FOLLOW); + PC_SYM_NOFOLLOW : PC_SYM_FOLLOW, inner_suffixes); if (real_path.error && (flags & O_NOSYMLINK || real_path.error != ENOENT || !(flags & O_CREAT))) diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 3b2e8ad27..9183762cc 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2297,7 +2297,7 @@ symlink (const char *topath, const char *frompath) } #else create_shortcut_header (); - path_conv win32_topath (topath, PC_SYM_NOFOLLOW); + path_conv win32_topath (topath, PC_SYM_NOFOLLOW, inner_suffixes); len = strlen (topath); unsigned short win_len = strlen (win32_topath.get_win32 ()); if (WriteFile (h, shortcut_header, SHORTCUT_HDR_SIZE, &written, NULL)