* fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when
resolving real_path. * path.cc (symlink): Ditto for win32_topath.
This commit is contained in:
parent
3a8fc0e4f1
commit
87e6b0981f
@ -1,3 +1,9 @@
|
|||||||
|
Thu Feb 22 12:04:00 2001 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* 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 <corinna@vinschen.de>
|
Wed Feb 21 22:41:00 2001 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll.
|
* Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll.
|
||||||
|
@ -1199,11 +1199,13 @@ fhandler_disk_file::fhandler_disk_file (const char *name) :
|
|||||||
int
|
int
|
||||||
fhandler_disk_file::open (const char *path, int flags, mode_t mode)
|
fhandler_disk_file::open (const char *path, int flags, mode_t mode)
|
||||||
{
|
{
|
||||||
|
extern suffix_info inner_suffixes[];
|
||||||
|
|
||||||
syscall_printf ("(%s, %p)", path, flags);
|
syscall_printf ("(%s, %p)", path, flags);
|
||||||
|
|
||||||
/* O_NOSYMLINK is an internal flag for implementing lstat, nothing more. */
|
/* O_NOSYMLINK is an internal flag for implementing lstat, nothing more. */
|
||||||
path_conv real_path (path, (flags & O_NOSYMLINK) ?
|
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 &&
|
if (real_path.error &&
|
||||||
(flags & O_NOSYMLINK || real_path.error != ENOENT || !(flags & O_CREAT)))
|
(flags & O_NOSYMLINK || real_path.error != ENOENT || !(flags & O_CREAT)))
|
||||||
|
@ -2297,7 +2297,7 @@ symlink (const char *topath, const char *frompath)
|
|||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
create_shortcut_header ();
|
create_shortcut_header ();
|
||||||
path_conv win32_topath (topath, PC_SYM_NOFOLLOW);
|
path_conv win32_topath (topath, PC_SYM_NOFOLLOW, inner_suffixes);
|
||||||
len = strlen (topath);
|
len = strlen (topath);
|
||||||
unsigned short win_len = strlen (win32_topath.get_win32 ());
|
unsigned short win_len = strlen (win32_topath.get_win32 ());
|
||||||
if (WriteFile (h, shortcut_header, SHORTCUT_HDR_SIZE, &written, NULL)
|
if (WriteFile (h, shortcut_header, SHORTCUT_HDR_SIZE, &written, NULL)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user